网站浏览量提升,网络需求分析的主要内容有哪些,学校网站建设栏目设置,网络工程师好学吗目录
一、题目思路
二、相关题目
三、总结与知识点
3.1 字符数组转换成字符串 一、题目思路
344反转字符串比较容易#xff0c;双指针即可在空间复杂度为O(1)的基础上解决#xff1b;
541反转字符串II #xff1a;其中for循环中 i 每次的取值#xff0c;不是 i#…目录
一、题目思路
二、相关题目
三、总结与知识点
3.1 字符数组转换成字符串 一、题目思路
344反转字符串比较容易双指针即可在空间复杂度为O(1)的基础上解决
541反转字符串II 其中for循环中 i 每次的取值不是 i这里一开始没想到不知道怎么用变量控制2k的计数。。。
还有就是字符串和字符数组之间的转换
在进行反转时尾指针的取值是和剩余字符的个数有关系
首先 i 从0开始每次取值更新2k根据剩余字符的数量给出反转字符串的尾指针取值在进行一次反转以后跳出本次循环后面的代码不再执行i 值要更新
其中尾指针的取值有些边界值要清楚弄不清的时候画图代入
二、相关题目
344.反转字符串
344. 反转字符串 - 力扣LeetCode
class Solution {public void reverseString(char[] s) {int left 0;int right s.length - 1;while(left right){char temp s[left];s[left] s[right];s[right] temp;left;right--;}}
}
541.反转字符串II
541. 反转字符串 II - 力扣LeetCode
class Solution {public String reverseStr(String s, int k) {char[] c new char[s.length()];for(int i 0;i c.length;i){c[i] s.charAt(i);}//char[] c s.toCharArray();for(int i 0;i c.length;i2 * k){ if((c.length - i) k){reverse(c,i,i k -1);continue;}reverse(c,i,c.length - 1);}return new String(c);//return Arrays.toString(c);}public void reverse(char[] c, int i, int j){while(i j){char temp c[i];c[i] c[j];c[j] temp;i;j--;}}
}
三、总结与知识点
3.1 字符数组转换成字符串 new String(c); 作用通过字符数组创建一个新的字符串对象。 结果它会将字符数组中的所有字符按顺序拼接成一个字符串。例如如果字符数组 c 是 {a, b, c}那么 new String(c) 的结果是 abc。 原理String 类的构造方法会将字符数组中的每个字符依次拼接形成一个连续的字符串。 Arrays.toString(c); 作用将数组转换为字符串表示形式。 结果它会返回一个表示数组内容的字符串格式为 [元素1, 元素2, ...]。例如如果字符数组 c 是 {a, b, c}那么 Arrays.toString(c) 的结果是 [a, b, c]。 原理Arrays.toString 方法会遍历数组并将每个元素用逗号分隔同时用方括号括起来形成一个字符串表示数组的结构。
总结 将字符数组直接拼接成一个字符串应该使用 new String(c) 保留数组的结构以字符串形式展示数组内容应该使用 Arrays.toString(c)。