Python C++使用字串find迴圈速解Leetcode 2490 Circular Sentence
C++ & Python都有字串的find,用法都類似
split=s.find(' ', split+1)能找到s從index=split+1開始出現' '的第一個的index
-----
C++ & Python both have string find, and their usage is similar.
split=s.find(' ', split+1) can find the first index where ' ' appears in s starting from index=split+1
class Solution:
def isCircularSentence(self, s: str) -> bool:
if s[0]!=s[-1]:
return False
split=-1
while True:
split=s.find(' ', split+1)
if split==-1:
break
if s[split-1]!=s[split+1]:
return False
return True
C++ 1-liner
class Solution {
public:
bool isCircularSentence(string& s) {
return s[0]==s.back() && all_of(s.begin(), s.end(), [&, i=0](auto _) mutable{
return !i++|| s[i]!=' ' || s[i-1]==s[i+1];
});
}
};
沒有留言:
張貼留言