描述

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

如: 查找 "abcdef" 中是否存在 "cde".

LintCode 领扣Powerful coding training system. LintCode has the most interview problems covering Google, Facebook, Linkedin, Amazon, Microsoft and so on. We provide Chinese and English versions for coders around the world.https://www.lintcode.com/problem/13/

代码及解读

class Solution {
public:/*** @param source: * @param target: * @return: return the index*///面试点: 简单题, 看候选人的基本功,不要求写出KMP, 但想看下候选人的coding能力在平均以上还是以下.//考点: 代码风格- 空格的地方是否空格,换行的地方是否换行,空行的地方是否空行.//思想: 外层遍历target, 内层遍历source, 注意遍历边界条件,判断相等条件, 终止条件.int strStr(const string &source, const string &target) {int sourceLen = (int)source.length();    //严谨: size_t即unsigned int 转 intint targetLen = (int)target.length();if (0 == targetLen) { //注意边界条件: 不能直接 if (target.empty() || source.empty())return 0;         //注意: 空字符串存在与任何字符串中,所以返回0}if (sourceLen < targetLen) {return -1;}for (int i = 0; i <= sourceLen - targetLen; ++i) {//注意遍历source的长度int j;                                        //注意索引j定义的位置for (j = 0; j < targetLen; ++j) {             //遍历targetif (source[i+j] != target[j]) {           //特别注意索引的迭代方式 i+jbreak;                                //注意是跳出本次从第j位开始的判断}}if (j == targetLen) {return i;}}return -1;}
};

算法笔记_面试题_14. strStr 长字符串中查找短字符串相关推荐

  1. leetcode28 Implement strStr() 在字符串中寻找目标字符串

    题目要求: 在子字符串中寻找目标字符串,并返回该字符串第一次出现时的下标 在尝试的写了一提中等难度的题目后,又一次回到简单难度的题寻找温暖T-T 思路一 在原字符串中中寻找目标字符串首字母的下标,并提 ...

  2. 根据三角形的三条边长(长、中、短三条边),来判断三角形类型

    根据三角形的三条边长(长.中.短三条边),来判断三角形类型.注意: (1) 一个三角形的边应该都为正数 (2) 一个三角形的边都应该满足三角形条件:两边之和大于第三边 如果有两边的平方和比第三边的平方 ...

  3. 根据三角形的三条边长(长、中、短三条边),来判断三角形类型。注意: 1.一个三角形的边长应该都为正数 2.一个三角形的边长都应该满足三角形条件:两边之和大于第三边 如果有两边的

    /*根据三角形的三条边长(长.中.短三条边),来判断三角形类型.注意: 1.一个三角形的边长应该都为正数 2.一个三角形的边长都应该满足三角形条件:两边之和大于第三边 如果有两边的平方和比第三边的平方 ...

  4. php 长短字符串转换,php将长数字串变成短字符串

    php将长数字串变成短字符串的方法,可用于id转化等. $str="0abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVWXY ...

  5. c 给定字符串中查找_面试 | 查找类算法精析

    点击上方蓝字设为星标 每周一.三.五上午 8:30 准时推送 下面开始今天的学习- 前言 查找,是使用计算机处理问题时的一个最基本的任务,因此也是算法面试中非常常见的一类问题.很多算法问题的本质,就是 ...

  6. 在字符串中查找指定的字符串--strstr

    在实际开发过程中,某个无线模块,比如wifi模块,你给它发送一条指令,它给你返回一条应答,这条应答不是根据什么协议应答给你,只是返回了一条带有某个特殊的字符串字段,这个特殊的字符字段能帮我们判断模块返 ...

  7. C语言strstr()函数(在主字符串里查找子字符串,返回第一次找到的子字符串以及后面的字符串)

    需包含头文件:C 标准库 - <string.h> 文章目录 描述 声明 参数 返回值 实例 描述 C 库函数 char *strstr(const char *haystack, con ...

  8. c 给定字符串中查找_【C进阶】练习题(一)

    码字不易,对你有帮助 点赞/转发/关注 支持一下作者 微信搜公众号:不会编程的程序圆看更多干货,获取第一时间更新 1.打印杨辉三角 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 - 2. ...

  9. 长链接(url)转换为短字符串,再把url和短字符串存数据库(有短域名方案)

    import org.apache.commons.codec.digest.DigestUtils;/*** 工具类:通过加密运算后,将长连接转换为短字符串**/ public class Shor ...

  10. 第2章KNN算法笔记_函数classify0

    <机器学习实战>知识点笔记目录 K-近邻算法(KNN)思想: 1,计算未知样本与所有已知样本的距离 2,按照距离递增排序,选前K个样本(K<20) 3,针对K个样本统计各个分类的出现 ...

最新文章

  1. Science杂志 | 人类基因组草图发布20周年,遗留的9大问题
  2. MYSQL 的 MASTER到MASTER的主主循环同步
  3. Elasticsearch 冷热集群架构实战
  4. 怎样的项目才能称为“成功项目”?
  5. (王道408考研数据结构)第七章查找-第二节2:二分查找及其判定树
  6. python变量域名_想尝试使用python进行域名分析,可是没有接触过python,想请教请教。...
  7. python字符串lower,upper,capwordds方法,translate(使用替换后),maketrans(创建表)的使用(不知道怎么回事这个变乱了?后期再整理)
  8. 推荐一款DataGridView的打印解决方案
  9. 谈谈面向对象分析和设计
  10. stm32 PWM波
  11. 网易严选App感受Weex开发
  12. 我们到底是万物之灵? 还是另一种昆虫?
  13. js如何取到ajax回调函数值,js怎样获取调用回调函数的参数值
  14. 感应开关垃圾桶小项目的完成及问题解决——基于STC89C52RC单片机
  15. pip使用豆瓣的镜像源
  16. JAVA打字小游戏,面向对象完成
  17. Java面向对象编程入门练习:Manager类继承Employee类并实现求得员工平均业绩
  18. 面板显示技术:LCD与OLED
  19. 决定转学运维了,JAVA学不下去了
  20. Unity3D笔记六 GUI游戏界面

热门文章

  1. i-83.net quadhost子产品
  2. Mybatis sqlsession解析
  3. Python2.X和Python3.X文件对话框、下拉列表的不同
  4. 在Array原型链上扩展remove,contain等方法所遇到的坑
  5. An internal error occurred during: Launching MVC on Tomcat 7.x.
  6. 转载:eclipse 搭建SSH项目(第二篇,有具体的项目例子)
  7. Oracle数据库中序列用法讲解(转)
  8. NBOOT分析-NBOOT.c(2)
  9. notepad++自动补全括号
  10. 拦截器(Interceptor)和过滤器(Filter)的区别