首页 > 其他 > 详细

LintCode: strStr

时间:2016-01-07 13:18:10      阅读:117      评论:0      收藏:0      [点我收藏+]

C++

(1) null

(2) length is 0

(3) return value

(4) strlen

 1 class Solution {
 2 public:
 3     /**
 4      * Returns a index to the first occurrence of target in source,
 5      * or -1  if target is not part of source.
 6      * @param source string to be scanned.
 7      * @param target string containing the sequence of characters to match.
 8      */
 9     int strStr(const char *source, const char *target) {
10         // write your code here
11         if (source == NULL || target == NULL) return -1;
12         
13         int i, j, len_s = strlen(source), len_t = strlen(target);
14         
15         if (len_s == 0 && len_t == 0) return 0;
16         
17         i = 0;
18         while (source[i] != \0) {
19             if (i + len_t > len_s) return -1;
20             j = 0;
21             while (target[j] != \0) {
22                 if (source[i + j] == target[j]) {
23                     j++;
24                 } else {
25                     break;
26                 }
27             }
28             if (target[j] == \0)  return i;
29             i++;
30         }
31         return -1;
32     }
33 };

 

LintCode: strStr

原文:http://www.cnblogs.com/CheeseZH/p/5109195.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!