zoukankan      html  css  js  c++  java
  • 2020-01-29 刷题 实现 strStr()

    题目连接:https://leetcode-cn.com/problems/implement-strstr/

    题目说明:

    实现 strStr() 函数。

    给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回  -1。

    示例 1:
    输入: haystack = "hello", needle = "ll"
    输出: 2

    示例 2:
    输入: haystack = "aaaaa", needle = "bba"
    输出: -1


    题目思想:

    获取needle 字符串的第一个位置数据

    指针遍历haystack 字符串的位置,并进行判断 是否与 needle 字符串的第一个位置数据 相等

    相等返回位置  不等返回-1

    题目代码:

     1 class Solution {
     2 public:
     3     int strStr(string haystack, string needle) {
     4         if (needle.size()==0)
     5             return 0;
     6         if (needle.size() > haystack.size())
     7             return -1;
     8         int j=0;//needle指针
     9         int i=0;
    10         for (i = 0; i < haystack.size(); ++i) {
    11             if (j==needle.size()){//判断完成
    12                 return i - needle.size();
    13             }
    14             if (haystack[i] == needle[j]){
    15                 j++;
    16             } else{
    17                 i -= j;
    18                 j=0;
    19             }
    20         }
    21         if (j==needle.size()){//判断完成
    22             return i - needle.size();
    23         }
    24         return -1;
    25     }
    26 };
  • 相关阅读:
    flex 自定义事件
    ssis 不停执行的方法
    动态修改大小的Panel用户控件
    ssis 写文件到数据库
    sqlserver CheckSum
    poj1423
    poj1860
    poj1862
    poj1426
    poj1234
  • 原文地址:https://www.cnblogs.com/gjianli/p/14347472.html
Copyright © 2011-2022 走看看