LeetCode--String刷题总结
对于不是对于单个字符进行操作,而是对单词进行操作时,可以选择一些库函数
常用的有:
1. str.split(" "); 按照空格将字符串进行划分,得到字符串数组
注:这里使用的是正则表达式,当要将一片空格分开,可以采用str.split("\\s+")或者str.split(" +")
如果split的是一个空串,得到的数组长度还是为1
2. str.substring(i, j); 得到字符串的子串 [ i, j )
3. str.contains("s1"); str中是否包含 s1字符串
4. str.charAt(7); str在7位置上的char型字符
5. str.trim(); 去除str两侧的空格 原字符串不变,要重新赋值给他 String s = str.trim()
应用:山羊拉丁文Goat Latin
6.在java中防止转义字符是 要使用 \ 不是 /
7.replaceAll():还有就是如果字符串中包含不需要的某几个字符时,可以使用replaceAll()方法去掉
public String replaceAll(String regex, String replacement)
其中第一个参数是一个正则表达式,表示替换和regex中相匹配的所有字符串。
区别于replace(),这个方法中传入的两个就是普通的字符串
public String replace(char oldChar,char newChar)
8.Arrays工具类:将数组转成集合List需要借助Arrays工具类
9.map的一种简单判断是否存在,且放入键值对的方法:
map.put(word, map.getOrDefault(word, 0) + 1);
map.getOrDefault(key, defaultValue)“键”没找到的时候返回提供的默认值,而且还会将键和默认值增加到调用的map中。
返回的是value值
10.reverse()方法是StringBuilder的,不是String的哦
StringBuilder -》 s.toString()
String -> new StringBuilder(s)
11.Character类是对字符进行操作,常见的操作有
1 | isLetter() 是否是一个字母 |
2 | isDigit() 是否是一个数字字符 |
3 | isWhitespace() 是否是一个空格 |
4 | isUpperCase() 是否是大写字母 |
5 | isLowerCase() 是否是小写字母 |
6 | toUpperCase() 指定字母的大写形式 |
7 | toLowerCase() 指定字母的小写形式 |
8 | toString() 返回字符的字符串形式,字符串的长度仅为1 |
9 isLetterOrDigit()
在LeetCode时,有Valid Palindrome 可以使用。LeetCode--Valid Palindrome