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]; }); } };
沒有留言:
張貼留言