没有文化的java菜鸟

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

字符和字节的换算,与编码方式有关。

1、ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节。

2、UTF-8编码中,一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。

3、Unicode编码中,一个英文等于两个字节,一个中文(含繁体)等于两个字节。

4、GBK编码方式是中文占两个字节,英文占1个字节。

5、符号:英文标点占一个字节,中文标点占两个字节。举例:英文句号“.”占1个字节的大小,中文句号“。”占2个字节。

因为在做的时候突然对字符中符号占几个字节感兴趣就查了一下~      { [ ( ) ] }  .... 

import java.util.Stack;

/**
 * @author gdp
 * @date 2020/4/1 10:04   括号匹配校验方法
 */
public class Solution<main> {
    //  1 {(   ) }    2 { ( (  }
    public static boolean isValid(String s){
        Stack<Character> stack = new Stack<>();
        for(int i = 0; i<s.length(); i ++ )
        {
            char c = s.charAt(i);
            if (c == '(' || c == '[' || c == '{') {
                stack.push(c);
            }else{
                if(stack.isEmpty()) return false;
                char TopChar = stack.pop();
                if( c == ')' && TopChar != '(' ) return false;
                if( c == ']' && TopChar!=  '[' ) return false;
                if( c == '}' && TopChar!= '{' ) return false;
            }
        }
        return stack.isEmpty();

    }

    public static void main(String[] args) {

        boolean valid = Solution.isValid("{((}");
        System.out.println(valid);

    }

}

 

视频链接地址:https://www.ixigua.com/i6815788155631829515/

 

posted on 2020-04-15 12:32  没有文化的java菜鸟  阅读(244)  评论(0)    收藏  举报