Lintcode13strStrsolution题解-创新互联

【题目描述】

目前成都创新互联公司已为1000+的企业提供了网站建设、域名、雅安服务器托管、网站托管、服务器托管、企业网站设计、潼南网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

For a given source string and a target string, you should output the first index(from 0) of target string in source string.

If target does not exist in source, just return -1.

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

【题目链接】

http://www.lintcode.com/en/problem/strstr/

【题目解析】

对于字符串查找问题,可使用双重for循环解决,效率更高的则为KMP算法。

源码分析

1.边界检查:source和target有可能是空串。

2.边界检查之下标溢出:注意变量i的循环判断条件,如果是单纯的i < source.length()则在后面的source.charAt(i + j)时有可能溢出。

3.代码风格:(1)运算符==两边应加空格;(2)变量名不要起s1``s2这类,要有意义,如target``source;(3)即使if语句中只有一句话也要加大括号,即{return -1;};(4)Java 代码的大括号一般在同一行右边,C++ 代码的大括号一般另起一行;(5)int i, j;声明前有一行空格,是好的代码风格。

4.不要在for的条件中声明i,j,容易在循环外再使用时造成编译错误

【答案链接】

http://www.jiuzhang.com/solutions/strstr/

当前文章:Lintcode13strStrsolution题解-创新互联
文章起源:https://www.cdcxhl.com/article8/csscip.html

成都网站建设公司_创新互联,为您提供关键词优化软件开发网站设计公司域名注册ChatGPT微信小程序

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站托管运营