当前位置: 首页 > news >正文

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"));}

执行结果:


 

http://www.lryc.cn/news/257304.html

相关文章:

  • Nginx的stream配置
  • ubuntu 20.04 server 安装 zabbix
  • hive映射es表任务失败,无错误日志一直报Task Transitioned from NEW to SCHEDULED
  • 手眼标定 - 最终精度和误差优化心得
  • pytorch一致数据增强
  • MapReduce
  • Spring Boot 快速入门
  • 什么是神经网络的非线性
  • 前端知识(十四)——浅谈用户体验测试的主要功能
  • 解决前端跨域问题,后端解决方法
  • 【网络奇缘系列】计算机网络|数据通信方式|数据传输方式
  • 数组 注意事项
  • day11 滑动窗口中的最大值
  • viple模拟器使用(五):Web 2D模拟器中实现两距离局部最优迷宫算法
  • 每日一道算法题 3(2023-12-11)
  • 【Android】查看keystore的公钥和私钥
  • ChatGPT的常识
  • Spring Boot中的事务是如何实现的?懂吗?
  • 应用安全:JAVA反序列化漏洞之殇
  • 基于以太坊的智能合约开发Solidity(函数继承篇)
  • 【论文极速读】LVM,视觉大模型的GPT时刻?
  • TS基础语法
  • 【基于NLP的微博情感分析:从数据爬取到情感洞察】
  • Ubuntu 18.04使用Qemu和GDB搭建运行内核的环境
  • GEE——利用Landsat系列数据集进行1984-2023EVI指数趋势分析
  • JAVA安全之Spring参数绑定漏洞CVE-2022-22965
  • 辨析旅行商问题(TSP)与车辆路径问题(VRP)
  • 2024年JAVA招聘行情如何?
  • 【合集】SpringBoot——Spring,SpringBoot,SpringCloud相关的博客文章合集
  • yolov5 获取漏检图片脚本