C/C++ 题目:给定字符串s1和s2,判断s1是否是s2的子序列

判断子序列一个字符串是否是另一个字符串的子序列

解释:字符串的一个子序列是原始字符串删除一些(也可以不删除)字符,不改变剩余字符相对位置形成的新字符串。
      如,"ace"是"abcde"的一个子序列。
          "aec"不是"abcde"的子序列。


示例 1:
    输入:s1 = "ac", s2 = "ahbgdc"
    输出:true

示例 2:
    输入:s = "ax", t = "acdgbgdc"
    输出:false

解析:

         按照s2的字符串顺序去找,如果s1是s2的子序列,那么一定能找到对应的s1中的所有字符,

         如果遍历了s2,而s1中还有剩余的长度没有找到,那么说明s1不是s2的子序列。

示例源码:

// Len_findChild.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <string>
using namespace std;
bool JudgeChildStr(string s, string t) 
{
	int count = s.size() - 1;
	for (int i = t.size() - 1; i >= 0 && count >= 0; i--)
	{
		if (t[i] == s[count])
		{
			count--;
		}
	}

	if (count < 0)
	{
		return true;
	}
	return false;
}

int main()
{
	string s1 = "ac";
	string s2 = "ahbgdc";
	bool bResult = JudgeChildStr(s1, s2);
	printf("\n\ts1 = %s \n\ts2 = %s \n\tresult: %s\n", s1.c_str(), s2.c_str(), (bResult==0)?("false"):("true"));

	s1 = "ax";
	s2 = "acdgbgdc";
	bResult = JudgeChildStr(s1, s2);
	printf("\n\ts1 = %s \n\ts2 = %s \n\tresult: %s\n", s1.c_str(), s2.c_str(), (bResult == 0) ? ("false") : ("true"));

}

执行结果:


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/235350.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【js】数字字符串的比较

今天排查一个日历组件的bug&#xff0c;month打印出来是9&#xff0c;month1打印出来为12&#xff0c;比较month和month1大小进入if或者else&#xff0c;奇怪的是每次都是进入的month>month1语句里面 打印typeOf&#xff08;a&#xff09;和typeOf&#xff08;b&#xff09…

数据链路层的作用和三个基本问题

目录 一. 数据链路层的作用二. 数据链路层解决的三个问题2.1 数据链路和帧2.2 三个基本问题(重要)2.2.1 封装成帧2.2.2 透明传输2.2.3 差错检测 \quad 一. 数据链路层的作用 \quad \quad \quad 光有链路不能传输数据, 还要加上协议, 这样才是数据链路 数据链路层的作用就是负责…

以太坊虚拟机EVM介绍,智能合约详解

以太坊为例&#xff1a;什么是智能合约&#xff1f;智能合约怎么部署、调用、执行&#xff1f;智能合约的原理&#xff1f;智能合约存在哪儿&#xff1f;如何区分调用的是智能合约&#xff1f;世界状态数据库、EVM、智能合约它们之间的关系&#xff1f; 什么是智能合约 指的是…

Matlab论文插图绘制模板第130期—函数曲面图

在之前的文章中&#xff0c;分享了Matlab函数折线图的绘制模板&#xff1a; 函数三维折线图&#xff1a; 函数网格曲面图&#xff1a; 进一步&#xff0c;再来分享一下函数曲面图。 先来看一下成品效果&#xff1a; 特别提示&#xff1a;本期内容『数据代码』已上传资源群中&a…

新公众号没有留言功能怎么办?

为什么公众号没有留言功能&#xff1f;从2018年2月开始&#xff0c;新注册的微信公众号取消了留言功能&#xff0c;原因是为了规避一些营销号通过虚假留言骗取读者信任。不过大部分公众号运营者对TX此举感到失望&#xff0c;一方面大片的留言就像店前排队的顾客&#xff0c;能体…

Java - java.util.Date和java.sql.Date的区别

java.sql.Date是java.util.Date的子类 因此&#xff0c;两者都有getTime方法&#xff0c;java.sql.Date没有重写&#xff0c;返回long类型&#xff0c;即时间戳&#xff1a; the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this date. publ…

Git篇---第二篇

系列文章目录 文章目录 系列文章目录前言一、什么是 Git 中的“裸存储库”?二、Git 是用什么语言编写的?三、在Git中,你如何还原已经 push 并公开的提交?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文…

高仿B站视频网站系统源码 附带完整的搭建教程

现如今&#xff0c;视频分享网站逐渐成为人们休闲娱乐和学习知识的重要平台。B站作为中国最大的弹幕视频网站之一&#xff0c;以其独特的弹幕系统、丰富的内容和良好的用户体验赢得了广大用户的喜爱。然而&#xff0c;对于一些想要搭建自己的视频分享网站的用户来说&#xff0c…

Vue之数据绑定

在我们Vue当中有两种数据绑定的方法 1.单向绑定 2.双向绑定 让我为大家介绍一下吧&#xff01; 1、单向绑定(v-bind) 数据只能从data流向页面 举个例子&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"…

Springboot自定义start首发预告

Springboot自定义start首发预告 基于Springboot的自定义start , 减少项目建设重复工作, 如 依赖 , 出入参包装 , 日志打印 , mybatis基本配置等等等. 优点 模块化 可插拔 易于维护和升级 定制化 社区支持(后期支持) 发布时间 预告: 2023-12-10 预计发布: 2024-1-1 , 元旦首…

Landsat7_C2_SR数据集(大气校正地表发射率数据集)

Landsat7_C2_SR数据集是经大气校正后的地表反射率数据&#xff0c;属于Collection2的二级数据产品&#xff0c;空间分辨率为30米&#xff0c;基于Landsat生态系统扰动自适应处理系统&#xff08;LEDAPS&#xff09;&#xff08;版本3.4.0&#xff09;生成。水汽、臭氧、大气高度…

6.4 U-boot 移植

一、ST 官方 U-boot 编译测试 1. ST 官方 uboot 源码打补丁 1.1 获得 ST 官方的 uboot 源码 https://www.cnblogs.com/toutiegongzhu/p/17578847.html 这里可以看如何下载uboot源码。解压完后输入以下命令&#xff1a; cd stm32mp1-openstlinux-5.4-dunfell-mp1-20-06-24/s…

05.仿简道云公式函数实战-扩展和自定义操作符和函数

1. 前言 在上一篇文章中我们学习了QLExpress的基础操作符和java对象的操作&#xff0c;通过大量的测试用例&#xff0c;我们学习了QLExpress的基础语法与使用&#xff0c;本篇文章&#xff0c;我们介绍使用QLExpress的进阶内容&#xff0c;主要知识点是扩展操作符和自定义操作…

基于SpringBoot实现的毕业设计管理系统

一、 系统架构 前端&#xff1a;html | jquery | vue 后端&#xff1a;springboot | thymeleaf | mybatis 环境&#xff1a;jdk1.8 | mysql | maven 二、代码及数据库 三、功能介绍 01. 登录页 02. 教务管理-控制台 03. 教务管理-选题管理-选题大厅 04. 教务管理-选题…

CS106L2023 and CS106B 环境配置(详细教程)

1.问题&#xff1a; &#xff08;1&#xff09;CS106L 运行./setup.sh 脚本时出错 &#xff08;windows 请下载git&#xff0c;在git bash 打开运行&#xff09; &#xff08;2&#xff09;CS106B&#xff0c;QT构建 构建错误&#xff1a;一般构建错误&#xff0c;例如 Erro…

数据护航:用过这款上海迅软DSE文件加密软件,你再也不用担心文件泄露

企业在业务发展过程中避免不了需要将一些重要文件外发给合作伙伴、代理商等情况&#xff0c;而这些外发出去的明文文件存在着巨大的泄密风险。因此迅软DSE文件加密软件结合文件加密功能及外发文件管控&#xff0c;实现对企业文件不同使用途径的安全保护。 迅软DSE文件加密软件…

`vtkClip`多面裁切之闭裁 `vtkClipClosedSurface`(1)

vtkClip多面裁切之闭裁 vtkClipClosedSurface(1) vtkClipClosedSurface文档 详细说明 使用平面集合剪裁闭合曲面。 vtkClipClosedSurface 将使用剪裁平面集合 vtkPlaneCollection剪裁闭合的多边形数据图面。它将通过创建新的多边形面来生成新的闭合表面&#xff0c;其中输入…

STM32F103时钟树

STM32芯片时钟来源 RCC时钟树简图 RCC时钟树详细图 1&#xff0e;当HSI被用于作为PLL时钟的输入时&#xff0c;系统时钟能得到的最大频率是64MHz。 2&#xff0e;用户可通过多个预分频器配置AHB、高速APB(APB2)和低速APB(APB1)域的频率。AHB和 APB2域的最大频率是72MHz。APB1域…

visual studio历史版本下载

点击比较发行声明 https://visualstudio.microsoft.com/zh-hans/downloads/ 点击当前发行说明 https://learn.microsoft.com/zh-cn/visualstudio/releases/2019/release-notes

JS:让2个li标签排列在同一行

前言 在js中&#xff0c;ul元素中li标签是块级元素&#xff0c;现在需要让2个分行的li元素显示在同一行&#xff0c;并且去掉li元素自带的标记符号 li元素处理前的样式如下&#xff1a; 实现 html代码 <div><ul><li>数据1&#xff1a;</li><li&…