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

leetcode 392.判断子序列

思路:双指针。

两个指针分别指向两个字符串的首部,然后我们判断这两个指针现在指向的位置的字符是不是相同的;如果相同我们就两个指针同时移动;如果不同,我们就移动长度较大的那个字符串的指针向右。直至我们的指针有一个遍历完结束。画上计数器,如果我们的计数器的次数和子序列的长度是一样的,说明我们已经遍历完了子序列并且t中有一个子序列可以和s相同。

特判:如果s的长度>t的长度,那么这个时候就是false;如果s是空的,那么就是true。

class Solution {
    public boolean isSubsequence(String s, String t) {
        int l=0;
        int r=0;
        if(s.equals(""))
        return true;
        if(s.length()>t.length())
        return false;
        int cnt=0;
        while(l<=s.length()-1&&r<=t.length()-1){
            if(s.charAt(l)==t.charAt(r)){
                cnt++;
                l++;
                r++;
                if(cnt==s.length()){
                    return true;
                }
            }
            else{
                r++;
            }
        }
        return false;
    }
}


http://www.kler.cn/news/312473.html

相关文章:

  • MATLAB绘图:5.三维图形
  • 力扣53-最大子序和(Java详细题解)
  • SpringBoot 入门实践
  • Django+React+Neo4j实现的地质领域知识图谱系统
  • CentOS7更新YUM源
  • 9.20哈好
  • 算法【双向广搜】
  • QT Layout布局,隐藏其中的某些部件后,不影响原来的布局
  • 【数据结构】5——哈夫曼树(Huffman Tree)
  • Linux网络——手撕TCP服务器,制定应用层协议,实现网络版计算器
  • websocketpp服务器搭建
  • 使用knn算法对iris数据集进行分类
  • 人力资源数据集分析(一)_t-test、卡方检验和描述性统计
  • Spring Cloud常见面试题
  • 电子电气架构---智能汽车应该是怎么样的架构?
  • 24.9.18学习笔记
  • opengl-redbook环境搭建(静态库)
  • 『功能项目』事件中心处理怪物死亡【55】
  • Vue3:props实现组件通信
  • react 创建react项目
  • 高级java每日一道面试题-2024年9月14日-基础篇-如何处理事务中的性能问题?
  • 已知曲线满足正余弦函数,根据其峰值,还原出整条曲线
  • Bio-Linux-shell详解-1-从0开始
  • 【Ubuntu】虚拟机安装USB摄像头ROS驱动 usb_cam(最新方法)
  • ES5 在 Web 上的现状
  • [ffmpeg] packet
  • element-plus的菜单组件el-menu
  • 7--SpringBoot-后端开发、原理详解(面试高频提问点)
  • Web开发:ABP框架3——入门级别的接口增删改查实现原理
  • 基于SpringBoot的自习室预订系统