美文网首页
LeetCode-翻转字符串里的单词

LeetCode-翻转字符串里的单词

作者: 步芦 | 来源:发表于2020-04-17 12:30 被阅读0次

    给定一个字符串,逐个翻转字符串中的每个单词。

    快速浏览:
    1. 空白输入
    2. 特殊情况
    3. 常见类库

    输入: " hello world! "

    输出: "world! hello"

    import java.util.ArrayList;
    class Solution {
    public String reverseWords(String s) {
            if (s == null || s.length() == 0)
                return "";
            ArrayList<String> arr = new ArrayList<>();
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < s.length(); i++) {
                if (s.charAt(i) != ' ') {
                    sb.append(s.charAt(i));
                    if (i == s.length() - 1)
                        arr.add(sb.toString());
                } else {
                    if (sb.length() != 0)
                        arr.add(sb.toString());
                    sb.delete(0, sb.length());
                }
            }
            StringBuilder ans = new StringBuilder();
            for (int i = arr.size() - 1; i >= 0; i--) {
                ans.append(arr.get(i));
                if (i != 0)
                    ans.append(' ');
            }
            return ans.toString();
        }
    }
    
    
    参考代码
    class Solution {//使用语言特性
        public String reverseWords(String s) {
            // 除去开头和末尾的空白字符
            s = s.trim();
            // 正则匹配连续的空白字符作为分隔符分割
            List<String> wordList = Arrays.asList(s.split("\\s+"));
            Collections.reverse(wordList);
            return String.join(" ", wordList);
        }
    }
    
    

    链接: 答案解析来源

    相关文章

      网友评论

          本文标题:LeetCode-翻转字符串里的单词

          本文链接:https://www.haomeiwen.com/subject/joajmhtx.html