28.Implement strStr() leetcode java
来源:互联网 发布:cms监控软件操作说明 编辑:程序博客网 时间:2024/06/07 21:36
题目:
Implement strStr().
Return the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.
Example 1:
Input: haystack = "hello", needle = "ll"Output: 2
Example 2:
Input: haystack = "aaaaa", needle = "bba"Output: -1
在haystack找到子串needle,返回needle的第一个字符在haystack中的index,找不到则返回-1.
思路:用i指向haystack,用j指向needle,比较i和j指向的字符:
①相等:如果j=needle.length,那么表示到这里needle已经遍历完,返回相应的位置,否则表示needle还没遍历完,那么i++,j++
②不相等:这个串到这里匹配失败,需要改变i和j的位置重新寻找,i需要指向haystack中刚刚被匹配的那个串的第二个字符i=i-j+1,j则需要指向needle的头,即j=0
时间复杂度为O(n)
public class Solution { public int strStr(String haystack, String needle) { if(needle.length()==0) return 0; char[] c1=haystack.toCharArray();char[] c2=needle.toCharArray();int i=0,j=0;while(i<c1.length&&j<c2.length){if(c1[i]==c2[j]){if(j==c2.length-1)return i-c2.length+1;else{ i++; j++; }}else{ i=i-j+1; j=0;}}return -1; }}
阅读全文
0 0
- 28. Implement strStr()-leetcode-java
- [LeetCode-Java]28. Implement strStr()
- [LeetCode] 28. Implement strStr() java
- [leetcode]28. Implement strStr()(Java)
- 28.Implement strStr() leetcode java
- [Leetcode] Implement strStr() (Java)
- [LeetCode][Java] Implement strStr()
- LeetCode : Implement strStr() [java]
- Leetcode:28. Implement strStr()(JAVA)
- (Java)LeetCode-28. Implement strStr()
- 【Leetcode】:28. Implement strStr()问题 in JAVA
- leetcode 28. Implement strStr() (java实现)
- [LeetCode]28.Implement strStr()
- LeetCode --- 28. Implement strStr()
- LeetCode 28.Implement strStr()
- [Leetcode] 28. Implement strStr()
- 【leetcode】28. Implement strStr()
- [leetcode] 28.Implement strStr()
- 机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)
- SQLAlchemy使用学习
- 关于于渊的一个操作系统的实现第二版学习之第二章bochs裸机启动的练习
- linux上同个tomcat服务器布署多个静态网站项目配置访问链接
- Linux下的SVN服务器搭建
- 28.Implement strStr() leetcode java
- STM32CubeMX+FreeRTOS实验---使用两个实例,共用一个task
- 相对有序排序算法
- ExtJs6学习(一)【ExtJs介绍】
- 使用mybatis分页插件PageHelper5.0.0遇到的问题总结
- Redis 启动多实例
- sql导出导入备份恢复
- js兼容性2
- Vijos 3764 牛奶题