【每日一题Day251】LC2490回环句 | 模拟

简介: 【每日一题Day251】LC2490回环句 | 模拟

回环句【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;
    }
}

image.png

目录
相关文章
|
2月前
【每日一题Day301】LC2337移动片段得到字符串 | 双指针 计分
【每日一题Day301】LC2337移动片段得到字符串 | 双指针 计分
32 0
|
2月前
【每日一题Day345】LC2562找出数组的串联值 | 模拟
【每日一题Day345】LC2562找出数组的串联值 | 模拟
24 0
|
2月前
【每日一题Day290】LC1281整数的各位积和之差 | 模拟
【每日一题Day290】LC1281整数的各位积和之差 | 模拟
19 0
|
2月前
【每日一题Day268】LC415字符串相加 | 模拟
【每日一题Day268】LC415字符串相加 | 模拟
31 0
|
2月前
【每日一题Day116】LC1138字母板上的路径 | 模拟
【每日一题Day116】LC1138字母板上的路径 | 模拟
28 0
|
2月前
【每日一题Day353】LC2525根据规则将箱子分类 | 模拟
【每日一题Day353】LC2525根据规则将箱子分类 | 模拟
19 0
|
2月前
|
机器人
【每日一题Day174】LC1041困于环中的机器人 | 模拟 位运算
【每日一题Day174】LC1041困于环中的机器人 | 模拟 位运算
36 0
|
2月前
【每日一题Day308】LC57插入区间 | 模拟
【每日一题Day308】LC57插入区间 | 模拟
25 0
|
2月前
【每日一题Day153】LC2469温度转换 | 模拟
【每日一题Day153】LC2469温度转换 | 模拟
23 0
|
2月前
【每日一题Day250】LC1253重构 2 行二进制矩阵 | 贪心模拟
【每日一题Day250】LC1253重构 2 行二进制矩阵 | 贪心模拟
27 0