博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
392 给定字符串s和t,判断s是否为t的子序列
阅读量:3595 次
发布时间:2019-05-20

本文共 284 字,大约阅读时间需要 1 分钟。

                                                                                                                                                

 

【题目】

【方法一:双指针】

定义指针i指向s的第一个元素,定义j指向t的第一个元素。若s[i] == t[j],则i,j都后移。若不等,则j后移。

 

代码:

 

结果:

 

不是很快。

 

另一种写法:

如果先把字符串转成字符数组,会快一些:

 

代码:

 

结果如下:

 

 

但是这个方法效率不高。效率最高的是使用String的内置函数indexOf()。

 

【方法二:使用String的内置函数indexOf()】

 

对于s中每一个元素c,在t中查找c的开始位置。如果没有找到,则说明t不含有c,则返回false。如果找到了,则从当前找到的地方的下一个位置继续找下一个元素。

 

【代码】

 

【结果】

 

 

 

 

 

 

转载地址:http://eilwn.baihongyu.com/

你可能感兴趣的文章
6-4 另类堆栈 (15 分)
查看>>
Redis主从复制
查看>>
6-2 折半查找的实现 (10 分)
查看>>
Vue使用组件的细节点
查看>>
Vue父子组件的数据传递
查看>>
给组件绑定原生事件
查看>>
在Vue中使用animate.css库
查看>>
Vue中多个元素或组件的过渡
查看>>
Vue中的列表过渡
查看>>
Vue项目打包后dist文件目录详解
查看>>
Vue异步组件实现按需加载
查看>>
Js使用removeEventListener对全局事件的解绑
查看>>
数据库事务简介
查看>>
SpringMVC数据绑定入门
查看>>
SpringBoot的pom.xml细节
查看>>
代码审计——命令执行
查看>>
致远OA任意文件下载漏洞(CNVD-2020-62422)
查看>>
解决elasticsearch max virtual memory areas vm.max_map_count [65530] is too low......报错
查看>>
解决Navicat连接SQL Server数据库,报错08001-命名管道提供程序:无法打开与SQL Server的连接[2].
查看>>
Spring Boot+Quartz+Sql Server+vue实现定时任务(带界面)
查看>>