`
blue2048
  • 浏览: 177975 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

[leetcode]Reverse Words in a String-反转字符串 java

阅读更多

需要注意一下几点

1. 可能存在多个连续空格的情况

2.  需要trim

3. 不是字符串倒序,而是以单词的形式倒序

public class Solution {
    public String reverseWords(String s) {
          boolean postFlag = false;
        boolean spaceFlag = false;
        StringBuilder result = new StringBuilder(200);
        StringBuilder sb = new StringBuilder(10);
        for (int i=s.length()-1; i>=0; i--){
            char c = s.charAt(i);
            if(!postFlag && c==32){
                continue;
            }
            if(!postFlag){
                postFlag = true;
            }
            if(c == 32 && !spaceFlag){
                spaceFlag = true;
                result.append(sb.reverse().toString());
                sb = new StringBuilder(10);
                result.append(c);
            }else if(c==32 && spaceFlag){
                continue;
            }else {
                spaceFlag = false;
                sb.append(c);
            }
        }
        if(sb.length()!=0){
            result.append(sb.reverse());
        }
        for (int i=result.length()-1; i>=0; i--){
            char c = result.charAt(i);
            if(c==32){
                result.deleteCharAt(i);
            }else {
                break;
            }

        }
        return result.toString();
    }
}

 

分享到:
评论

相关推荐

    Reverse words in a string-leetcode

    Reverse words in a string-leetcode

    TWDH#Leetcode-From-Zero#13.反转字符串中的单词 III1

    557. 反转字符串中的单词 IIIpublic String reverseWords(String s) {StringBuilder sb = new S

    LeetCode最全代码

    421 | [Maximum XOR of Two Numbers in an Array](https://leetcode.com/problems/maximum-xor-of-two-numbers-in-an-array/) | [C++](./C++/maximum-xor-of-two-numbers-in-an-array.cpp) [Python](./Python/...

    Coding Interview In Java

    2 Reverse Words in a String II 19 3 Evaluate Reverse Polish Notation 21 4 Isomorphic Strings 25 5 Word Ladder 27 6 Word Ladder II 29 7 Median of Two Sorted Arrays 33 8 Kth Largest Element in an Array ...

    leetcode字符串括号level-leetcode:LeetCode解题记录

    leetcode字符串括号level LeetCode LeetCode 解题记录 Go 使用 Go 语言的解题记录 longestCommonPrefix 最长公共前缀 checkInclusion 字符串的排列 multiply 字符串相乘 reverseWords 翻转字符串里的单词 ...

    leetcode2sumc-Leetcode-2020:刷刷Leetcode并作纪录

    leetcode 2 sum c Leetcode 练习记录 这个专案主要存放我练习Leetcode有针对难度分类的集合题库(Collection Question) 准备方式 分析tag的热门标签,熟悉各个标签解题的思路(解决该标签全部的easy和medium为主),再...

    leetcode338-coding_notebook:编码_笔记本

    第 338 章概括 [(雅虎)4。 两个排序数组的中位数](Leetcode 问题/数组和字符串/4.median_of_two_sorted_array.md) [(雅虎)13。...String/151.reverse_words_in_a_string.md) [167. Two Sum 2 - In

    leetcode写题闪退-LeetCode:leetcodeOJ

    leetcode写题闪退 #*的多少代表此题的有意思程度 有几题第一次写的时候思绪比较混乱: *****Regular Expression Matching 2014.10.29 对于Find Minimum in Rotated Sorted Array II 和 Find Minimum in Rotated ...

    leetcode-go:我使用Golang解决LeetCode问题的方法

    goMy solution to LeetCode problems using GolangProblems 题库Array 数组NoTitle题名DifficultyStatus11Container With Most Water盛最多水的容器MediumSolved26Remove Duplicates from Sorted Array删除有序数组...

    LeetCode 151 – 翻转字符串里的单词

    题目描述 151. 翻转字符串里的单词 解法一:(Python) class Solution: def reverseWords(self, s: str) -> str: return " ".join(reversed(s.split())) 解法二:双端队列(C++) ... string reverseWords(strin

    leetcode中国-leetCodeSolution::thumbs_up:leetCode刷题项目

    reverseWords titleToNumber toLowerCase defangIPaddr replaceSpace removeOuterParentheses 复杂题目值得参考 sortString 使用字典排序 sort((a, b) => a.charCodeAt() - b.charCodeAt()) 有参考价值 Maths isPal

    cpp-算法精粹

    字符串 Valid Palindrome Implement strStr() String to Integer (atoi) Add Binary Longest Palindromic Substring Regular Expression Matching Wildcard Matching Longest Common Prefix Valid Number Integer to...

Global site tag (gtag.js) - Google Analytics