LeetCode_344. Reverse String
Posted 邓戈麟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode_344. Reverse String相关的知识,希望对你有一定的参考价值。
344. Reverse String
Easy
Write a function that reverses a string. The input string is given as an array of characters char[]
.
Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.
You may assume all the characters consist of printable ascii characters.
Example 1:
Input: ["h","e","l","l","o"]
Output: ["o","l","l","e","h"]
Example 2:
Input: ["H","a","n","n","a","h"]
Output: ["h","a","n","n","a","H"]
package leetcode.easy; public class ReverseString { private static void print_arr(char[] s) { for (int i = 0; i < s.length; i++) { System.out.print(s[i] + " "); } System.out.println(); } public void helper(char[] s, int left, int right) { if (left >= right) { return; } char tmp = s[left]; s[left++] = s[right]; s[right--] = tmp; helper(s, left, right); } public void reverseString1(char[] s) { helper(s, 0, s.length - 1); } public void reverseString2(char[] s) { int left = 0, right = s.length - 1; while (left < right) { char tmp = s[left]; s[left++] = s[right]; s[right--] = tmp; } } @org.junit.Test public void test1() { char[] s1 = { ‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘ }; char[] s2 = { ‘H‘, ‘a‘, ‘n‘, ‘n‘, ‘a‘, ‘h‘ }; print_arr(s1); reverseString1(s1); print_arr(s1); print_arr(s2); reverseString1(s2); print_arr(s2); } @org.junit.Test public void test2() { char[] s1 = { ‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘ }; char[] s2 = { ‘H‘, ‘a‘, ‘n‘, ‘n‘, ‘a‘, ‘h‘ }; print_arr(s1); reverseString1(s1); print_arr(s1); print_arr(s2); reverseString1(s2); print_arr(s2); } }
以上是关于LeetCode_344. Reverse String的主要内容,如果未能解决你的问题,请参考以下文章