回环句【LC2490】
句子 是由单个空格分隔的一组单词,且不含前导或尾随空格。
- 例如,
"Hello World"
、"HELLO"
、"hello world hello world"
都是符合要求的句子。- 单词 仅 由大写和小写英文字母组成。且大写和小写字母会视作不同字符。
如果句子满足下述全部条件,则认为它是一个 回环句 :
- 单词的最后一个字符和下一个单词的第一个字符相等。
- 最后一个单词的最后一个字符和第一个单词的第一个字符相等。
例如,
"leetcode exercises sound delightful"
、"eetcode"
、"leetcode eats soul"
都是回环句。然而,"Leetcode is cool"
、"happy Leetcode"
、"Leetcode"
和"I like Leetcode"
都 不 是回环句。给你一个字符串
sentence
,请你判断它是不是一个回环句。如果是,返回true
;否则,返回false
。
- 思路
判断字符串首尾是否相同,不相等直接返回false
;否则,判断空格前后字符是否相等,如果不相等直接返回false
。运行到最后,表示为回环句,返回true
class Solution { public boolean isCircularSentence(String sentence) { int n = sentence.length(); if (sentence.charAt(0) != sentence.charAt(n - 1)){ return false; } int find = sentence.indexOf(' '); while(find != -1){ if (find > 0 && find + 1 < n && sentence.charAt(find - 1) != sentence.charAt(find + 1)){ return false; } find = sentence.indexOf(' ', find + 1); } return true; } }