首页 > 代码库 > Implement strStr()
Implement strStr()
Implement strStr().
Returns a pointer to the first occurrence of needle in haystack, or null if needle is not part of haystack.
答案
public class Solution { public String strStr(String haystack, String needle) { if(needle==null||haystack==null) { return null; } Map<Character,Integer> map=new HashMap<Character,Integer>(); int i; int j; for(i=0;i<needle.length();i++) { map.put(needle.charAt(i),i); } for(i=0;i<=haystack.length()-needle.length();) { for(j=0;j<needle.length();j++) { if(haystack.charAt(i+j)!=needle.charAt(j)) { break; } } if(j==needle.length()) { break; } if(i+j+1>=haystack.length()||!map.containsKey(haystack.charAt(i+j+1))) { i=i+j+2; } else { i=Math.max(i+1,i+j+1-map.get(haystack.charAt(i+j+1))); } } if(i>haystack.length()-needle.length()) { return null; } return haystack.substring(i); } }
Implement strStr()
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。