zoukankan      html  css  js  c++  java
  • 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);
    	}
    }
    
  • 相关阅读:
    node中express的中间件之basicAuth
    python练习1--用户登入
    python基础4--文件操作
    python基础3--字符串
    python基础2--字典
    python基础1--列表
    XP下使用IIS访问asp出现无权查看网页问题的解决办法
    jQueryUI Datepicker的使用
    FileUpload控件使用初步
    HTML中表格元素TABLE,TR,TD及属性的语法
  • 原文地址:https://www.cnblogs.com/denggelin/p/11824008.html
Copyright © 2011-2022 走看看