字符串string

对string的处理,一些string 的内置方法很方便好用

char a=string.charAt(i);//取到string第i位的char

char[] c=string.toCharArray();//将string转化成一个char的数组

Arrays.sort(a);//将括号里的这个array sort一下,若是数字array就按大小排序,若是char array就按字典序排序

String s=new String(charArray);//将一个char array转化成string

StringBuilder 的用法,用于生成string,可以用append方法去在后面不断加char,但他的本质还不是string,若要用它所生成的string的话,还需要将它转化成string

StringBuilder s=new StringBuilder();//新建一个stringBuilder

s.append(char);//在其后加上新char

String ss=s.toString();//若要作为string来用,必须得有这个转化的过程

两种变成string的方法,一个是将char [] 变成string,一个是将String Builder变成string,这两种东西使用的方法不一样

用for遍历string的写法:

for(char c :string.toCharArray(){

}

把string中的第i个char变成int

int num=str.charAt(i)-'0';//原理也就是比如'9'-'0'=9
int num=s.charAt(i) - 'a'//这个的意思是看string s中第I位的char与a相距多少位,常用与纪录某string中第字母出现频次去用,放到一个长度为26的int array中(int[26])

把这个表示数字的字符变成int

int res=Integer.parseInt(char + "");

只想要string中某一段的substring

String s.substring(left, right);

有关回文的考题,从回文的特征入手开始分析

  • 一个回文string中,每个字母出现的次数,最多有一个为奇数,其他全是偶数
  • 找子回文的题,可以考虑用动态规划;核心:只有一个char是回文,有两个char且两个char相等是回文,若在首尾两位char,即第i位和第j位char相等且[i+1]~[j-1]也是回文则[i]~[j]位也是回文。这三点的前提都是收尾相同,所以总结到一块就是:当首尾char相等时,若j-i<=1,或是[i+1]~[j-1]也是回文,那么i]~[j]位也是回文。
  • 找子回文的题,也可考虑中心拓展法;详情见#647解析

==与equals:string/char的比较,若是用==,则比较的是地址,是否为同一个元素;若有equals比较,则比较的是字面意思上的值是否相等

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值