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);
        }
    }
  • 相关阅读:
    终端时钟与时钟源偏差40秒异常处理
    (原创)odoo one2many字段以子列表形式显示
    (原创)odoo动态设置树形视图中的字段,每个用户可定制自己要显示的字段
    (原创)odoo14下qweb模板的前端与后端语法区别
    nginx安装前奏
    MySQL破解root用户密码
    Docker创建运行多个mysql容器
    判断pcie卡插在哪个cpu上
    虚拟化之Hypervisor
    HCIA-Cloud Computer笔记
  • 原文地址:https://www.cnblogs.com/chengpeng15/p/10029860.html
Copyright © 2011-2022 走看看