数据结构之字符串

数据结构之字符串

字符串是由若干字符组成的序列。在编程时使用的频率非常高。

字符串的一些常见操作

//字符串转成数组
String s= "123";
char[] c = s.toCharArray();

//字符串和Integer互转
String s = "123";
int num = Integer.parseInt(s);//这里如果s不能转成数字,是会报错的。比如s = "12a",转成数字就会报错。

/* 遍历字符串
 * 两种方式
 * 一是转成char数组, 然后循环遍历数组,对char进行操作
 * 二是直接在字符串基础上操作
 */
String s = "abcde";
for (char c : s) {
//...
}
//或者
for (int i = 0; i < s.length(); i++) {
    char c = s.charAt(i);
    //然后操作c
}

//StringBuffer或者StringBuilder与字符串的交互操作
//以StringBuffer为例
StringBuffer sb = new StringBuffer();
String s = "abc";
for (int i = 0; i < s.length(); i++) {
    char c = s.charAt(i);
    sb.append(c); //StringBuffer操作字符串对应的char
}
return sb.toString(); //StringBuffer转成String

//字符串数组进行字典序排序
//我们可以直接将两个比较的字符串通过两种方式相加,分别比较相加后的字符串字典序大小就可以了啊
String[] s = new String[]{"soidf", "asoif"};
Arrays.sort(s, (o1, o2) -> {
        String o1o2 = o1 + o2;
        String o2o1 = o2 + o1;

        //o1o2小说明o1排在前面字典序小,那么选o1在前面
        //o2o1小说明o2排在前面字典序小,那么就选o2在前面
        //反之一样大
        return o1o2.compareTo(o2o1);
        });


字符串的一些常见题型

全排列

一个字符串“abc”,多少种排列方式,考的回溯

替换空格

字符串的一些常见操作

单纯考字符串的不多,有的也类似于数组操作,或者结合别的算法对字符串进行操作。

posted @ 2022-06-27 13:54  cfdroid  阅读(99)  评论(0编辑  收藏  举报

目录导航