算法 【双指针】反转字符串 求解代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 public String solve(String str) { // 空串/NULL直接返回 if (str == null || str.length() == 0) { return str; } int i = 0; // 左指针 int j = str.length() - 1; // 右指针 char[] s = str.toCharArray(); // 由于String不可变,需要将字符串转成字符数组 // 首尾双指针相向遍历 while (i < j) { char c = s[i]; s[i] = s[j]; s[j] = c; i++; j--; } // 字符数组转回字符串返回 return new String(s); }