​LeetCode解法汇总2490. 回环句

2023-06-30 09:41:09

目录链接:

力扣编程题-解法汇总_分享+记录-CSDN博客

GitHub同步刷题项目:

https://github.com/September26/java-algorithms

原题链接:

力扣


描述:

句子 是由单个空格分隔的一组单词,且不含前导或尾随空格。

  • 例如,"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 。

示例 1:

输入:sentence = "leetcode exercises sound delightful"
输出:true
解释:句子中的单词是 ["leetcode", "exercises", "sound", "delightful"] 。
- leetcode 的最后一个字符和 exercises 的第一个字符相等。
- exercises 的最后一个字符和 sound 的第一个字符相等。
- sound 的最后一个字符和 delightful 的第一个字符相等。
- delightful 的最后一个字符和 leetcode 的第一个字符相等。
这个句子是回环句。

示例 2:

输入:sentence = "eetcode"
输出:true
解释:句子中的单词是 ["eetcode"] 。
- eetcode 的最后一个字符和 eetcode 的第一个字符相等。
这个句子是回环句。

示例 3:

输入:sentence = "Leetcode is cool"
输出:false
解释:句子中的单词是 ["Leetcode", "is", "cool"] 。
- Leetcode 的最后一个字符和 is 的第一个字符  相等。 
这个句子  是回环句。

提示:

  • 1 <= sentence.length <= 500
  • sentence 仅由大小写英文字母和空格组成
  • sentence 中的单词由单个空格进行分隔
  • 不含任何前导或尾随空格

解题思路:

/**

* 2490. 回环句

* 解题思路:

* 首先,判断字符串中的第一位和最后一位是否相同,如果不相同则不满足条件2。

* 遍历字符串,如果遇到空格且不是最后一位,则判断空格前一位和后一位的字符是否相同,不相同则不满足条件1.

*/

代码:

class Solution2490
{
public:
    bool isCircularSentence(string sentence)
    {
        int length = sentence.length();
        const char *ptr = sentence.c_str();
        if (*ptr != *(ptr + length - 1))
        {
            return false;
        }

        for (int i = 0; i < length; i++)
        {
            char str = *(ptr + i);
            if (str == ' ' && i < length - 1)
            {
                if (*(ptr + i + 1) != *(ptr + i - 1))
                {
                    return false;
                }
            }
        }
        return true;
    }
};

更多推荐

抖音短视频矩阵系统搭建

企业在进行短视频矩阵运营时,搭建一个矩阵号是非常必要的。矩阵号可以绑定多个不同平台的账号,批量制作和定时发布短视频,提高企业的曝光量和粉丝互动。但是,如何搭建一个有效的短视频矩阵号呢?以下是几个关键步骤。一、准备做矩阵的账号企业可以注册新账号,也可以使用现有的账号。在选择账号时,需要根据矩阵号的不同分工来做出选择。例如

Android Camera2获取摄像头的视场角(FOV)信息

一、概念FOV(FieldofView)是一个用于描述视野范围的术语。它通常用于计算设备(如摄像机、虚拟现实头显或眼睛)所能捕捉到的可见区域。水平FOV(HorizontalFOV):描述视野在水平方向上的范围,通常以度(°)或弧度(rad)为单位。垂直FOV(VerticalFOV):描述视野在垂直方向上的范围,同样

【Verilog教程】3.2 Verilog 时延

关键词:时延,惯性时延连续赋值延时语句中的延时,用于控制任意操作数发生变化到语句左端赋予新值之间的时间延时。时延一般是不可综合的。寄存器的时延也是可以控制的,这部分在时序控制里加以说明。连续赋值时延一般可分为普通赋值时延、隐式时延、声明时延。下面3个例子实现的功能是等效的,分别对应3种不同连续赋值时延的写法。//普通时

服务器资源监控工具Nmon工具搭建教程

nmon是IBM公司推出的一款免费性能监控工具,可以时时监控服务器资源,还可以定时监控服务器资源,并生成数据文件,记录服务器的资源消耗情况操作步骤:下载地址:https://nmon.sourceforge.net/pmwiki.php?n=Site.Download1,通过ssh工具连接服务器2,进入usr目录下创建

IP模块组装网络包及转发网络包链路

目录引言网络包网络包的组成​编辑网络包的转发转发设备大致流程​编辑ip模块发送网络包添加网络包的头部控制信息ip头部中添加发送方ip地址路由表查找规则​编辑添加协议号添加mac头部​编辑arp协议转换ip地址为mac地址​编辑arp缓存arp缓存失效​编辑ip模块对应的发送接受发送接受职责界定引言之前协议栈系列的文章讲

《Linux高性能服务器编程》--TCP/IP协议族

目录1--TCP/IP协议族2--数据链路层3--网络层4--传输层5--应用层6--封装和分用7--ARP协议的工作原理1--TCP/IP协议族TCP/IP协议族是一个四层协议系统,自底而上分别是数据链路层、网络层、传输层和应用层;2--数据链路层数据链路层两个常用协议:ARP协议(地址解析协议)和RARP协议(逆地

分析数组,结构体在反汇编中存储

本文会在IDA中分析数组,结构体在内存中的存储目录IDA分析数组存储IDA分析结构体存储传递参数的方式IDA分析数组存储测试代码如下:/************************************************************************//*@Author:玄都大法师/*@D

Gateway网关

网关GateWay官方文档:https://docs.spring.io/spring-cloud-gateway/docs/3.1.2/reference/html/#gateway-how-it-works核心概念路由:网关的核心数据结构,定义了网关如何处理请求.一条路由信息包含路由的唯一标识ID,目的地URI,一

驱动开发,基于gpio子系统编写LED灯的驱动,亮灭控制

1.gpio子系统介绍一个芯片厂商生产出芯片后会给linux提供一个当前芯片中gpio外设的驱动,我们当前只需要调用对应的厂商驱动即可完成硬件的控制。而linux内核源码中的gpio厂商驱动有很多,这里linux内核对厂商驱动做了一些封装,提供了一系列的API,我们在自己编写的设备驱动中只需要调用这些API即可访问对应

redis 集群(cluster)

1.前言我们知道,在Web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供正常服务(主存分离、快速容灾技术)还需要考虑数据容量的扩展,数据安全不会丢失等。在Redis中

大数据时代下统计数据质量的影响因素

统计工作是为政府提供国民经济运行信息的重要手段,将大数据应用于统计工作是社会发展饿必然趋势。一、内涵在数字化时代和数字经济的飞速发展,“数据”已经被认定为一种新的生产要素,并且发挥着重要作用。数据质量的高低直接影响数据价值的高低。数据质量,是指在业务环境下,数据符合数据消费者的使用者目的,能够满足业务场景具体需求的程度

热文推荐