zoukankan      html  css  js  c++  java
  • 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"

     [暴力解法]:

    时间分析:

    空间分析:

     [优化后]:

    时间分析:

    空间分析:

    [奇葩输出条件]:

    [奇葩corner case]:

    [思维问题]:

    [一句话思路]:

    先分割再合并,各种调用api

    [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入):

    [画图]:

    [一刷]:

    1. stringbuilder新建字符串都要用,此题恰好符合
    2. 空格真的要敲一个空格才行
    3. for (String st : str) 简写似乎更优雅

    [二刷]:

    [三刷]:

    [四刷]:

    [五刷]:

      [五分钟肉眼debug的结果]:

    [总结]:

    stringbuilder新建字符串都要用

    [复杂度]:Time complexity: O(n) Space complexity: O(n)

    [英文数据结构或算法,为什么不用别的数据结构或算法]:

    【string类】
    
    split 方法 :分割
    
    toString() 方法返回此对象本身(它已经是一个字符串)
    
    trim() 方法用于删除字符串的头尾空白符
    
    【stringbuilder类】
    
    .reverse()方法:翻转
    .append 添加字符串

    [关键模板化代码]:

    [其他解法]:

    [Follow Up]:

    [LC给出的题目变变变]:

    151. Reverse Words in a String 用指针反而麻烦了

     [代码风格] :

    class Solution {
        public String reverseWords(String s) {
            //cc
            if (s == null) {
                return s;
            }
            //split
            String[] str = s.split(" ");
            //reverse
            for (int i = 0; i < str.length; i++) {
                str[i] = new StringBuilder(str[i]).reverse().toString();
            }
            //combine
            StringBuilder result = new StringBuilder();
            for (String st : str) {
                result.append(st + " ");
            }
            //return
            return result.toString().trim();
        }
    }
    View Code
  • 相关阅读:
    习题三 答案
    习题二 答案
    Python开发【第三篇】:Python基本数据类型
    习题四 答案
    第一个python程序-判断登陆用户名和密码是否正确
    BFPRT算法 查找第k小的数
    设计模式----单例模式
    设计模式----原型模式
    非本地跳转
    链接器如何使用静态库解析引用
  • 原文地址:https://www.cnblogs.com/immiao0319/p/8599402.html
Copyright © 2011-2022 走看看