LC.P2490[回环句]

方法一:模拟

1
2
3
4
5
6
7
8
9
10
class Solution {
public boolean isCircularSentence(String sentence) {
String[] s = sentence.trim().split(" ");
int n = s.length;
for (int i = 0; i < n; ++i) {
if (s[i].charAt(s[i].length() - 1) != s[(i + 1) % n].charAt(0)) return false;
}
return true;
}
}
  • 时间复杂度:$O(n)$
  • 空间复杂度:$O(n)$

方法二:模拟(空间优化)

1
2
3
4
5
6
7
8
9
10
11
12
class Solution {
public boolean isCircularSentence(String sentence) {
int n = sentence.length();
if (sentence.charAt(0) != sentence.charAt(n - 1)) return false;
for (int i = 1; i < n; ++i) {
if (sentence.charAt(i) == ' ' && sentence.charAt(i - 1) != sentence.charAt(i + 1)) {
return false;
}
}
return true;
}
}
  • 时间复杂度:$O(n)$
  • 空间复杂度:$O(1)$