题目要求: 在子字符串中寻找目标字符串,并返回该字符串第一次出现时的下标

在尝试的写了一提中等难度的题目后,又一次回到简单难度的题寻找温暖T-T

思路一

在原字符串中中寻找目标字符串首字母的下标,并提取子字符串,若该字符串的开头等于目标字符串,则返回该下标
优点:速度相对较快
缺点:深度依赖api

public int strStr(String haystack, String needle) {int haystackLength = haystack.length();int needleLength = needle.length();if(haystackLength<needleLength){return -1;}else if(needleLength==0){return 0;}char start = needle.charAt(0);int index = haystack.indexOf(start);while(index!=-1){if(index+needleLength>haystackLength){index = -1;break;}if(haystack.substring(index).startsWith(needle)){break;}int tempIndex = haystack.substring(index+1).indexOf(start);index = tempIndex==-1?-1:(tempIndex+index+1);}return index;}

思路二

提取当前下标的子字符串并判断开头是否相等,相等则返回该下标

    public int strStr2(String haystack, String needle){int index = 0;for( ; index+needle.length()<=haystack.length() ; index++){if(haystack.substring(index).startsWith(needle)){//if(haystack.substring(index, index+needle.length).equals(needle){return index;}}if(index+needle.length()==haystack.length()){index = -1;}return index;}


想要了解更多开发技术,面试教程以及互联网公司内推,欢迎关注我的微信公众号!将会不定期的发放福利哦~

leetcode28 Implement strStr() 在字符串中寻找目标字符串相关推荐

  1. **在一个字符串中寻找另外一个字符串**

    在一个字符串中寻找另外一个字符串 public class text{public static void main(String args[]) {String searchMe="Loo ...

  2. 在字符串中查找子字符串

    今天中午一觉睡醒,刷b站,看见一个视频: 最浅显易懂的 KMP 算法讲解https://www.bilibili.com/video/BV1AY4y157yL?spm_id_from=333.1007 ...

  3. Python在字符串中查找子字符串

    这是小白博主在刷leetcode时遇到的一道题,这是博主近日刷的leetcode题库时结果表现最好的一道题,故在此分享这份喜悦. 希望在以后的日子里可以继续进步,持之以恒. 目录 题目介绍 解题思路及 ...

  4. 找出两个字符串中最大子字符串,如abractyeyt,dgdsaeactyey的最大子串为actyet

    // 最大子字符串.cpp : 定义控制台应用程序的入口点. // //找出两个字符串中最大子字符串,如"abractyeyt","dgdsaeactyey"的 ...

  5. 如何计算字符串中出现的字符串?

    如何计算特定字符串在另一个字符串中出现的次数. 例如,这就是我要使用Javascript进行的操作: var temp = "This is a string."; alert(t ...

  6. 两个字符串,s,t;把t字符串插入到s字符串中,s字符串有足够的空间存放t字符串

    两个字符串,s,t;把t字符串插入到s字符串中,s字符串有足够的空间存放t字符串 void insert(char *s, char *t, int i){char *q = t;char *p =s ...

  7. python判断字符串中包含某个字符串_Python中最常用的字符串方法!

    译 / 忧郁的红秋裤 字符串是字符序列.Python中内置的string类代表基于Unicode国际字符集的字符串.除了Python中常见的操作外,字符串还有一些专属于它们的附加方法.下图显示了所有这 ...

  8. c语言字符串中取最大字符串,使用C语言提取子字符串及判断对称子字符串最大长度...

    先来看一个使用C语言从字符串中提取子字符串的基本方法总结: #include /*处理中文字符*/ /*遍历字符串,非ASCII字符读取2个字节,ASCII读取一个字节,获取字符串长度*/ int S ...

  9. [转载] python判断字符串中包含某个字符串_干货分享| Python中最常用的字符串方法

    参考链接: Python中字符串string capitalize 字符串是字符序列.Python中内置的string类代表基于Unicode国际字符集的字符串.除了Python中常见的操作外,字符串 ...

最新文章

  1. Linux内核探讨-- 第六章
  2. java nio connect_Java NIO系列教程(八) SocketChannel
  3. emWin 2天速成实例教程002_多个页面窗口切换
  4. python 中各种下划线的神操作:_、_xx、xx_、__xx__、_ _xx、_classname_ _xx
  5. Mac OS X Glut build instructions
  6. Abstract Factory(抽象工厂)--对象创建模式
  7. 建造者模式什么时候使用?
  8. 取本周日期 C# .net
  9. 安徽科技学院 信网学院网络文化节 陈鑫鑫
  10. 学习英文必记的九种前缀与三种后缀
  11. OPENCV运动追踪研究和PYTHON及JAVA实现
  12. C语言引用方式调用函数
  13. 【图形学】计算机图形学的应用领域
  14. 微信公众号开发—通过网页授权实现业务系统登录及用户绑定(微信网页授权自动登录业务系统)
  15. 数字信号处理专题(1)——DDS函数发生器环路Demo
  16. 2007高校BBS上几个睿智的冷笑话
  17. HTML5+JS手机web开发之jQuery Mobile初涉
  18. 快手和抖音怎么打开微信小程序
  19. Python数据处理性能对比,原生,Pandas,Numpy哪个更优秀
  20. dropout 关于keep_prob

热门文章

  1. 【算法】2 由股票收益问题再看分治算法和递归式
  2. [原创].触摸屏滤波的一点心得
  3. 浅谈非法NAT接入对网络的安全风险
  4. 微软:警惕 Web3 和去中心化网络中的“冰钓”威胁
  5. 利用 Windows Server 容器攻陷云环境的首款恶意软件现身
  6. 兑现北京冬奥赞助承诺 奇安信安全防护软件冬奥版发布
  7. 2011年至2019年制造的 AMD 处理器均易受两种新型攻击
  8. 警惕新型“二进制植入”漏洞,立即更新至 Npm 最新版本
  9. awk学习笔记八-Actions
  10. 20年薪水的经典忠告