`
betakoli
  • 浏览: 168752 次
社区版块
存档分类
最新评论

LeetCode Reverse Words in a String

 
阅读更多

Given an input string, reverse the string word by word.

For example,
Given s = "the sky is blue",
return "blue is sky the".

click to show clarification.

给定一个字符串,将字符串中的英文单词反转过来:

实现一:以单词作为整体的方式,实现

public class Solution {
    public String reverseWords(String s) {
        s=s.trim();
    	s=s.replaceAll("[ ]+", " ");
        String[] words = s.split(" ");
        StringBuffer sb  =new StringBuffer();
        for(int i=words.length-1;i>=0;i--)
        {
        	sb.append(words[i]+" ");
        }
    	return sb.toString().trim();
    }
}

 实现二:遍历字符串中的每一个字符来实现

public class Solution {
    public String reverseWords(String s) {
		 if(s==null)
			 return s;
		 Stack stack = new Stack();
		 int i=s.length()-1;
		 StringBuffer sb =new StringBuffer();
		 while(i>=0)
		 {
			 char c = s.charAt(i);
			 if(c==' ')
			 {
				 i--;
				 while(i>=0&&s.charAt(i)==' ')
					 i--;
				 
				 if(!stack.empty())
				 {
					 while(!stack.empty())
					 {
						 char ch = (Character) stack.pop();
						 sb.append(ch);
					 }
					 sb.append(" ");
					 stack = new Stack();
				 }
			 }
			 else{
				 i--;
				 stack.push(c);
			 }
		 }
		 if(!stack.empty())
		 {
			 while(!stack.empty())
			 {
				 char ch = (Character) stack.pop();
				 sb.append(ch);
			 }
		 }
		 if(sb.length()>0&&sb.charAt(sb.length()-1)==' ')
		 sb.deleteCharAt(sb.length()-1);
		 return sb.toString();
	 }
}

 

 

分享到:
评论

相关推荐

    Reverse words in a string-leetcode

    Reverse words in a string-leetcode

    python-leetcode题解之151-Reverse-Words-in-a-String.py

    python python_leetcode题解之151_Reverse_Words_in_a_String.py

    js-leetcode题解之151-reverse-words-in-a-string.js

    javascript js_leetcode题解之151-reverse-words-in-a-string.js

    python-leetcode题解之186-Reverse-Words-in-a-String-II.py

    python python_leetcode题解之186_Reverse_Words_in_a_String_II.py

    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 book刷题必备

    7. Reverse Words in a String II:翻转字符串中的单词顺序,并且整个字符串也要翻转。 8. String to Integer (atoi):将字符串转换成整数,考虑溢出等问题。 9. Valid Number:判断一个字符串是否是有效的数字表示...

    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/...

    leetcode写题闪退-LeetCode:leetcodeOJ

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

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

    leetcode 2 sum c Leetcode 练习记录 这个专案主要存放我练习Leetcode有针对难度分类的集合题库(Collection ...Reverse Words in a String medium O 这题有点算是easy的程度, 目前解法为O(n^2)的时

    算法刷题笔记leetcode/lintcode

    - Reverse Words in a String(反转字符串中的单词) - Valid Palindrome(回文字符串验证) - Longest Palindromic Substring(最长回文子串) - Space Replacement(URL化) - Wildcard Matching(通配符匹配...

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

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

    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:leetcode刷题(中等难度分类)

    字符串处理题目也是LeetCode的重要部分,例如"Reverse Words in a String"(翻转字符串中的单词)和"Valid Palindrome"(验证回文串)。这些题目通常涉及到字符串的遍历、分割、比较以及特殊字符的处理。 四、位...

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

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

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

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

    算法-leetcode-剑指offer上的题很多

    - **反转单词(Reverse Words)**: 将字符串中的单词顺序反转。 - **验证回文字符串(Valid Palindrome)**: 判断一个字符串是否是回文。 - **最长回文子串(Longest Palindromic Substring)**: 找出字符串中最长的回文...

    LeetCode

    9. **字符串处理**:涉及到模式匹配、子串查找、字符串反转等(如LeetCode的"Reverse Words in a String"问题)。 10. **图论**:包括图的深度优先遍历、拓扑排序、最小生成树等(如LeetCode的"Course Schedule...

    常见算法题答案及解析

    6. Reverse Words in a String:给定一个字符串,将其单词反转并保持单词内部顺序不变。 7. Reverse Words in a String II:字符串处理,涉及到对字符串的反转和单词的分割。 8. String to Integer (atoi):将字符串...

    leetcode答案-leetcode:我对leetcode151的回答

    LeetCode 151题,全称为"Reverse Words in a String"(反转字符串中的单词),这是一道中等难度的题目。题目要求用户编写一个函数,接收一个只包含空格和字母的字符串作为输入,然后返回这个字符串中单词的顺序被...

    oj题.zip

    1. **151.py** - 这个编号可能是LeetCode中的问题151,题目名为"Reverse Words in a String"(字符串中的单词反转)。这个题目主要考察字符串操作,包括字符串分割、反转和重新组合。 2. **207.py** - 这可能是...

Global site tag (gtag.js) - Google Analytics