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

*LeetCode--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

 
原文地址:https://www.cnblogs.com/SkyeAngel/p/9062478.html