344. Reverse String 最基础的反转字符串
[抄题]:
[暴力解法]:
时间分析:
空间分析:
[奇葩输出条件]:
[奇葩corner case]:
[思维问题]:
还停留在 i < len / 2的阶段,不行,应该是指针对撞问题了
[一句话思路]:
先要把字符串转成数组,再转回来,数据结构白学了?
[输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入):
[画图]:
[一刷]:
- 用.tochararray转成字符串数组,顾名思义了
[二刷]:
[三刷]:
[四刷]:
[五刷]:
[五分钟肉眼debug的结果]:
[总结]:
先要把字符串转成数组,再转回来
[复杂度]:Time complexity: O(n) Space complexity: O(n)
[英文数据结构或算法,为什么不用别的数据结构或算法]:
必须是字符串数组才能转
[关键模板化代码]:
[其他解法]:
[Follow Up]:
[LC给出的题目变变变]:
Reverse String II 带有index的
[代码风格] :
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
class Solution { public String reverseString(String s) { //corner case if (s == null) { return null; } int i = 0, j = s.length() - 1; //convert to char[] char[] chars = s.toCharArray(); while (i < j) { char temp = chars[i]; chars[i] = chars[j]; chars[j] = temp; i++; j--; } //convert again return new String(chars); //return } }