字符和字节的换算,与编码方式有关。
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