58.最后一个单词的长度
题目链接
流的使用
class Solution {
public:
int lengthOfLastWord(string s) {
reverse(s.begin(),s.end());
istringstream iss(s);
string tmp="";
while(iss>>tmp){return tmp.length();}
return 0;
}
};
或者直接查
class Solution {
public:
int lengthOfLastWord(string s) {
int cnt=0;
for(auto it=s.rbegin();it!=s.rend();it++){
if(*it!=' ')cnt++;
else if(!cnt) continue;
else break;
}
return cnt;
}
};
速度快点,不知道为啥
class Solution {
public:
int lengthOfLastWord(string s) {
int cnt=0;
for(int i=s.length()-1;i>=0;i--){
if(s[i]!=' ')cnt++;
else if(!cnt) continue;
else break;
}
return cnt;
}
};
66.加一
题目链接
public:
vector<int> plusOne(vector<int>& digits) {
for(auto it = digits.rbegin(),ie = digits.rend();it!=ie;++it){
if(*it==9){*it=0;}
else{
++*it;
return digits;
}
}
digits.emplace_back(0);digits[0]=1;
return digits;
}
};

本文介绍了一种使用C++处理字符串的高效方法,包括如何计算最后一个单词的长度及数组加一操作。通过逆向迭代和条件判断,实现对字符串和数组的有效操作,提升编程效率。
184

被折叠的 条评论
为什么被折叠?



