LeetCode-28. Implement strStr()
来源:互联网 发布:十万个冷笑话2 知乎 编辑:程序博客网 时间:2024/04/27 13:39
一、问题描述
Implement strStr().
Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.
二、问题分析
求解haystack字符串中最先出现needle字符串的位置,变量 i 代表haystack字符串字符的位置,j 代表needle字符串的位置,i从0开始,j从0开始挨个字符比较,当发现后面字符不相符,i变为1,j再从0开始,再次挨个比较,当完全匹配则返回i,当不匹配,i++,再次重复。
需要注意几个问题:1.两个字符串为null;2.needle字符串为空的情况,只要needle字符串为空,则返回0;3.needle字符串的长度小于haystack字符串的长度。
三、代码
public class Solution { public int strStr(String haystack, String needle) { if(haystack==null || needle==null){ return -1; } if(needle.equals("")) return 0; int l=haystack.length(); int m=needle.length(); if(l<m) return -1; int i=0; int j=0; while(i+j<l && j<m){ if(haystack.charAt(i+j)==needle.charAt(j)){ j++; } else{ i++; j=0; } if(j==m) return i; } return -1; //return haystack.indexOf(needle); }}
0 0
- [LeetCode]28.Implement strStr()
- LeetCode --- 28. Implement strStr()
- LeetCode 28.Implement strStr()
- [Leetcode] 28. Implement strStr()
- 【leetcode】28. Implement strStr()
- [leetcode] 28.Implement strStr()
- Leetcode-28.Implement strStr()
- 28. Implement strStr() LeetCode
- leetcode 28. Implement strStr()
- [LeetCode]28. Implement strStr()
- leetcode 28. Implement strStr()
- Leetcode 28. Implement strStr()
- leetcode 28.Implement strStr()
- LeetCode *** 28. Implement strStr()
- LeetCode 28. Implement strStr()
- leetcode-28. Implement strStr()
- leetcode 28. Implement strStr()
- leetcode 28. Implement strStr()
- 常见排序的原理和C++实现(一)——STL库中sort的使用方法
- 基础练习 报时助手
- java内存回收之finalize()方法原理
- Java byte[] 转图片 在jsp页面显示
- Activiti工作流入门
- LeetCode-28. Implement strStr()
- 【业务】CSS布局中的sticky footers布局
- 基础练习 2n皇后问题
- 在Github Pages上部署自己的简历
- UML图
- Linux多线程编程(一)
- JavaScript函数_函数作用域
- 半年总结
- socket 通信关于bind那点事