zoukankan      html  css  js  c++  java
  • ledecode Reverse Words in a String III

    557. Reverse Words in a String III

    Given a string, you need to reverse the order of characters in each word within a sentence while still preserving whitespace and initial word order.

    Example 1:

    Input: "Let's take LeetCode contest"
    Output: "s'teL ekat edoCteeL tsetnoc"

    Note: In the string, each word is separated by single space and there will not be any extra space in the string.

    package leedcode;
    
    class Solution {
    
        public static void main(String[] args) {
    //        String s = "Let's take LeetCode contest";
            String s = "12345";
            System.out.println(s);
            System.out.println(new Solution().reverseWords(s));
        }
    
        public static void reverseWord(char[] chars, int begin, int end) {
    
            for (int i = begin; i <= end; i++) {
                char temp = chars[i];
                chars[i] = chars[end];
                chars[end] = temp;
                end--;
            }
    
        }
    
    
        public String reverseWords(String s) {
    
            char[] chars = s.toCharArray();
            int start = 0;
            int end = 0;
    
            for (int i = 0; i < chars.length; i++) {
    
                if (chars[i] == ' ') {
                    end = i;
                    reverseWord(chars, start, end-1);
                    start = end+1;
                }
                end++;
            }
    
            reverseWord(chars,start,end-1);
    
            return new String(chars);
        }
    }
    

    重新整理逻辑

    class Solution {
       
        
          public static void reverseWord(char[] chars, int begin, int end) {
    
            for (int i = begin; i <= end; i++) {
                char temp = chars[i];
                chars[i] = chars[end];
                chars[end] = temp;
                end--;
            }
    
        }
    
    
        public String reverseWords(String s) {
    
            char[] chars = s.toCharArray();
            int start = 0;
            int end = 0;
    
            for (int i = 0; i < chars.length; i++) {
                if (chars[i] == ' ') {
                    end = i;
                    reverseWord(chars, start, end-1);
                    start = end+1;
                } 
                end++;
            }
            
            reverseWord(chars,start,end-1);
            
            return new String(chars);
        }
    }
  • 相关阅读:
    jquery----->helloworld
    hibernate------->第一个程序
    spring使用jdbcTemplate和jdbcdaosupport和namedparameter
    spring--------------->AOP
    spring------>Helloworld
    JS全选
    表单重复提交
    session
    cookies
    83. Remove Duplicates from Sorted List
  • 原文地址:https://www.cnblogs.com/chengpeng15/p/10029860.html
Copyright © 2011-2022 走看看