题解 | #翻转单词序列#

翻转单词序列

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

```function ReverseSentence(str)
{
    // write code here
    if(str === ''){return ''} //特殊输入
    
    let stack = []
    let res1 = []
    let res2 = []
    let arr = [...str]
    for(let i=0;i<arr.length;i++){
        if(arr[i]===' '){
            let temp =stack.join('') 
            res1.push(temp) 
            stack = []
            continue
        }
        stack.push(arr[i])
        if(i===arr.length-1){
             let temp =stack.join('') 
            res1.push(temp) 
            stack = []
        }
    }
    while(res1.length){
        if(res1.length===1){
             res2.push(res1.pop())
        }
        else {
             res2.push(res1.pop().concat(' '))
        }
    }
    return res2.join('')
}

//想用一下栈的方法,写出来这么复杂。。。建议还是直接 return str.split(' ').reverse().join(' ')

module.exports = {
    ReverseSentence : ReverseSentence
};
全部评论

相关推荐

牛客771574427号:恭喜你,华杰
点赞 评论 收藏
分享
10-11 17:30
湖南大学 C++
我已成为0offer的糕手:羡慕
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务