题解 | #翻转单词序列#

翻转单词序列

http://www.nowcoder.com/practice/3194a4f4cf814f63919d0790578d51f3

双栈解法

思路:

依次遍历字符串str,如果元素不等于空格,则直接入栈1;如果元素等于空格,则将栈1的所有元素存到栈2,同时将空格也存到栈2中。遍历完如果字符串不是以空格结尾的话,栈1中还存有单词,所以要再把栈1的元素都存到栈2中。最后将栈2元素出栈并拼接成最终返回的字符串。

import java.util.Stack;

public class Solution {

public String ReverseSentence(String str) {
    Stack<Character> stk1 = new Stack<>();
    Stack<Character> stk2 = new Stack<>();
    for(int i=0;i<str.length();++i){
        char c = str.charAt(i);
        if(c != ' '){
            stk1.push(c);
        } else {
            while(!stk1.isEmpty()){
                stk2.push(stk1.pop());
            }
            stk2.push(c);
        }
    }
    while(!stk1.isEmpty()){
        stk2.push(stk1.pop());
    }
    String res = "";
    while(!stk2.isEmpty()){
        res += stk2.pop();
    }
    return res;
}

}

阿勇算法解集 文章被收录于专栏

对一些基础的,经典的题目的算法题解,每道题的题解尽量做到一题多解,举一反三。其中每一个题解中,若是参考了其他牛人的想法,我会备注出来。

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 11:29
点赞 评论 收藏
分享
风中翠竹:真的真的真的没有kpi。。。面试官是没有任何kpi的,捞是真的想试试看这个行不行,碰碰运气,或者是面试官比较闲现在,没事捞个人看看。kpi算HR那边,但是只有你入职了,kpi才作数,面试是没有的。
双非有机会进大厂吗
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-08 17:10
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务