面试题58 - I. 翻转单词顺序
Posted ocpc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试题58 - I. 翻转单词顺序相关的知识,希望对你有一定的参考价值。
题目:
解答:
方法一:
两次反转,先反转每个单词,再反转每个句子。
方法二:
1 class Solution { 2 public: 3 string reverseWords(string s) 4 { 5 if(s.empty()) 6 { 7 return s; 8 } 9 10 int len = 0; 11 string ans = ""; 12 13 for(int m = s.size()-1; m >=0; m--) 14 { 15 if(s[m]==‘ ‘ && len!=0) 16 { 17 ans += s.substr(m+1,len)+ " "; 18 len = 0; continue; 19 } 20 if(s[m]!= ‘ ‘) 21 { 22 len++; 23 } 24 } 25 if(len !=0) 26 { 27 ans += s.substr(0,len) + " "; 28 } 29 if(ans.size()>0) 30 { 31 ans.erase(ans.size()-1,1); 32 } 33 return ans; 34 35 } 36 };
以上是关于面试题58 - I. 翻转单词顺序的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode(剑指 Offer)- 58 - I. 翻转单词顺序