码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode_344. Reverse String

时间:2019-11-09 10:12:29      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:fun   while   http   mem   href   tmp   wiki   inpu   The   

 

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

标签:fun   while   http   mem   href   tmp   wiki   inpu   The   

原文地址:https://www.cnblogs.com/denggelin/p/11824008.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!