字符串章节类似于数组章节,但是又有略微不同。今天的题目分别是LeetCode.344反转字符串和LeetCode.541反转字符串Ⅱ。
LeetCode.344反转字符串
对于本题,如果仔细学习和思考了代码随想录前面的内容,并且结合题目描述,空间复杂度为O(1),是比较容易想到解决办法的。在看到这道题的时候,第一反应会想到使用双指针法,进而思考使用快慢指针还是使用对撞指针,因为本题需要我们反转字符串,将最前面和最后面的元素进行互换,然后向中心靠近,继续互换,所以自然而然想到对撞指针。
public static void reverseString(char[] s){
for (int i = 0,j=s.length-1; i < s.length/2; i++;j--) {
char temp