zoukankan      html  css  js  c++  java
  • LintCode 字符串查找

    对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。如果不存在,则返回 -1

    说明

    在面试中我是否需要实现KMP算法?

    • 不需要,当这种问题出现在面试中时,面试官很可能只是想要测试一下你的基础应用能力。当然你需要先跟面试官确认清楚要怎么实现这个题。
    样例

    如果 source = "source" 和 target = "target",返回 -1

    如果 source = "abcdabcdefg" 和 target = "bcd",返回 1

    class Solution {
    public:
        /**
         * Returns a index to the first occurrence of target in source,
         * or -1  if target is not part of source.
         * @param source string to be scanned.
         * @param target string containing the sequence of characters to match.
         */
        int strStr(const char *source, const char *target) {
            // write your code here
            if(source==NULL||target==NULL)
            return -1;
            if(*target=='')//查找的是空串
            return 0;
            int i=0;
            int j=-1;
            while(*source!='')
            {
                j++;
                if(*source==*target)//找首字母相同的
                {
                    i=j;
                    const char *p=source;//用两个指针
                    const char *q=target;
                    while(*p==*q)
                    {
                        if(*(q+1)=='')
                        return i;
                        else 
                        {
                            p++;
                            q++;
                        }
                    }
                }
                source++;
            }
            return -1;
        }
    };
    

      

  • 相关阅读:
    php魔术常量,_CLASS_,_METHOD_,_FUNCTION_
    php里parent,::和self的分别
    rewrite例子集合
    PHP中::、->;、self、$this操作符的区别
    php中const和define的区别
    aliyun二级域名绑定
    数组操作函数8
    http 301 和 302的区别
    lnmp引发的fpm502错误!
    关于php下开发的跨域问题总结(全)
  • 原文地址:https://www.cnblogs.com/lelelelele/p/6135741.html
Copyright © 2011-2022 走看看