关于java:LeetCode344反转字符串

24次阅读

共计 767 个字符,预计需要花费 2 分钟才能阅读完成。

反转字符串

题目形容:编写一个函数,其作用是将输出的字符串反转过去。输出字符串以字符数组 char[] 的模式给出。

不要给另外的数组调配额定的空间,你必须原地批改输出数组、应用 O(1) 的额定空间解决这一问题。

你能够假如数组中的所有字符都是 ASCII 码表中的可打印字符。

示例阐明请见 LeetCode 官网。

起源:力扣(LeetCode)
链接:https://leetcode-cn.com/probl…
著作权归领扣网络所有。商业转载请分割官网受权,非商业转载请注明出处。

解法一:数组遍历

遍历 s,遍历程序是 0~s.length/2,将第i 项的值和第 s.length-1-i 项的值进行替换。遍历实现后的 s 即为反转后的字符串。

public class LeetCode_344 {public static void reverseString(char[] s) {for (int i = 0; i < s.length / 2; i++) {
            // 第 i 项和第 s.length-1- i 项进行替换
            char temp = s[i];
            s[i] = s[s.length - 1 - i];
            s[s.length - 1 - i] = temp;
        }
    }

    public static void main(String[] args) {char[] s = new char[]{'h', 'e', 'l', 'l', 'o'};
        System.out.println("----- 反转之前 -----");
        for (char c : s) {System.out.print(c + " ");
        }
        System.out.println();
        reverseString(s);
        System.out.println("----- 反转之后 -----");
        for (char c : s) {System.out.print(c + " ");
        }
    }
}

【每日寄语】每一次的冲破都是为了成就更好的本人。

正文完
 0