leetCode练习(28)
2016-09-19 19:46
260 查看
题目:Implement strStr()
难度:easy
问题描述:
Implement strStr().
Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.
解题思路:
最简单的是暴力子字符串查找算法,在文本中任意一个可能出现匹配的地方检测是否匹配。代码如下:
难度:easy
问题描述:
Implement strStr().
Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.
解题思路:
最简单的是暴力子字符串查找算法,在文本中任意一个可能出现匹配的地方检测是否匹配。代码如下:
public class Solution { public int strStr(String haystack, String needle) { if(needle==null||haystack==null) return -1; int len=haystack.length(); int slen=needle.length(); if(slen>len) return -1; if(!haystack.equals("")&&needle.equals("")) return 0; if(haystack.equals(needle)) return 0; int i,j; for(i=0,j=0;i<len&&j<slen;i++){ // System.out.println("i="+haystack.charAt(i)+" j="+needle.charAt(j)); if(haystack.charAt(i)==needle.charAt(j)) { j++; // System.out.println("j="+j); } else{ i=i-j; j=0; } } if(j==slen){ return i-slen; } else return -1; } }
更为优秀的是著名的KMP算法,目前仅知道原理,还没有实现。
相关文章推荐
- leetCode练习(90)
- leetCode练习(2)
- Leetcode 28 Implement strStr()
- leetCode练习(148)
- leetcode 练习——add two numbers (Java)
- LeetCode Online Judge 题目C# 练习 - Largest Rectangle in Histogram
- LeetCode 28 : Implement strStr() (Java)
- 【leetcode题解】【28】【E】Palindrome Number
- LeetCode Online Judge 题目C# 练习 - Remove Duplicates from Sorted List
- LeetCode Online Judge 题目C# 练习 - Reverse Linked List II
- leetCode练习(25)
- leetCode练习(116)
- LeetCode Online Judge 题目C# 练习 - Binary Tree Inorder Traversal
- LeetCode(Oct 28 '12):Pascal's Triangle
- leetCode练习(32)
- 常见算法练习leetcode
- Leetcode练习笔记——169. Majority Element
- leetcode 28: Implement strStr()
- leetcode练习 Kth Largest Element in an Array
- LeetCode练习-求二叉树的深度-Maximu Depth of Binary Tree