zoukankan      html  css  js  c++  java
  • [leetcode]28. Implement strStr()实现strStr()

    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
    

    Clarification:

    What should we return when needle is an empty string? This is a great question to ask during an interview.

    题意:

    实现strStr() : Returns a pointer to the first occurrence of str2 in str1, or a null pointer if str2 is not part of str1.

    Solution1:Two Pointers, finding substring[i...j] in str1,such that it equals str2

    code:

     1 /*
     2 Time: O(n^2). 
     3 Space: O(1).
     4 */
     5 
     6 class Solution {
     7     public int strStr(String s1, String s2) {
     8         //题意确认 return 0 when needle is an empty string
     9         if(s2.length() == 0) return 0;
    10         
    11         //for(int i = 0; i < s1.length(); i++){ 确保s1中含有s2,则扫s1的指针的范围可以缩小到s1.length() - s2.length() + 1
    12         for(int i = 0; i < s1.length() - s2.length() + 1; i++){
    13             int j = i; 
    14             int k = 0; 
    15             while( j < s1.length() && k < s2.length() && s1.charAt(j) == s2.charAt(k)){
    16                 j++;
    17                 k++;
    18             }
    19             if( k == s2.length()){
    20                 return i;
    21             } 
    22         }   
    23         return -1;
    24     }    
    25 }
  • 相关阅读:
    leetcode算法题基础(五)双指针(一)27 题 移除元素
    kata-shim: Setctty set but Ctty not valid in child: unknown.
    kata-runtime mount
    UVa1636 Headshot
    HDU1150 Machine Schedule
    POJ 1273 Drainage Ditches
    SPOJ GSS1 Can you answer these queries I
    POJ 1840 Eqs
    POJ2001 Shortest Prefixes
    HDU 2795 Billboard
  • 原文地址:https://www.cnblogs.com/liuliu5151/p/10674671.html
Copyright © 2011-2022 走看看