首页 > 其他 > 详细

用栈来校验括号匹配的方法;字符占的字节数与编码格式的换算。

时间:2020-04-15 13:30:33      阅读:64      评论:0      收藏:0      [点我收藏+]

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

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/

 

用栈来校验括号匹配的方法;字符占的字节数与编码格式的换算。

原文:https://www.cnblogs.com/study-gdp/p/12702056.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!