LeetCode--Implement strStr()
来源:互联网 发布:膜法传奇知乎 编辑:程序博客网 时间:2024/06/05 13:32
题目:
我的方案:
public class Solution { public int strStr(String haystack, String needle) { int hslen=haystack.length(); int nllen=needle.length(); int rlen=-1; for(int i=0;i<hslen;i++){ int len=0; for(int j=0;j<nllen;j++){ int templen=i+j; if(templen>=hslen)break; if(needle.charAt(j)!=haystack.charAt(templen)){ break; }else{ len++; } } if(len==nllen) {rlen=i;break;} } return rlen; }}
遗憾的是超时了,Time Limit Exceeded。
根据网上改进的简洁方案:
public class Solution { public int strStr(String haystack, String needle) { int hlen=haystack.length(); int nlen=needle.length(); if(nlen>hlen)return -1; int i,j; for(i=j=0;i<hlen&&j<nlen;){ if(haystack.charAt(i)==needle.charAt(j)){ i++; j++; }else{ i=i-j+1; j=0; } } return nlen!=j?-1:i-j; }}
可以通过,但是效率不是很理想。
还有更简洁的:
public class Solution { public int strStr(String haystack, String needle) { return haystack.indexOf(needle); }}经典的KMP解决方案请参考:KMP解决方案
0 0
- LeetCode: Implement strStr()
- [Leetcode] Implement strstr()
- Leetcode: Implement strStr
- [Leetcode] Implement strStr()
- LeetCode Implement strStr()
- 【leetcode】Implement strStr()
- [LeetCode]Implement strStr()
- [LeetCode] Implement strStr()
- [LeetCode] Implement strStr()
- LeetCode-Implement strStr()
- LeetCode: Implement strStr()
- LeetCode - Implement strStr()
- LeetCode: Implement strStr()
- 【leetcode】Implement strStr()
- Leetcode: Implement strStr()
- leetcode implement strStr
- LeetCode Implement strStr()
- LeetCode题解:Implement strStr()
- 2014年十大网络用语
- 【好程序员特训营】Java的Io操作
- hdu1248 寒冰王座 完全背包 简单
- 基于Innobackupex的全备恢复
- [LeetCode] Longest Palindromic Substring 使用2D-vector 和 2D-array的区别
- LeetCode--Implement strStr()
- OAF-Error001:Oracle.apps.fnd.framework.OAException: Application: FND, Message Name: FND_GENERIC_MESS
- 推荐关于ElasticSearch的好文
- eclipse常用快捷键
- 解决Spring MVC @ResponseBody返回中文字符串乱码问题
- 字典树(前缀树)
- DHL与DEX联合提供全球供应链和反向物流解决方案
- 数字图像处理的就业前景与学习资源
- 重构的常用思路