博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
strStr解题报告
阅读量:5335 次
发布时间:2019-06-15

本文共 1414 字,大约阅读时间需要 4 分钟。

题目意图:identify the target string from source string

思路: 1. 对于比较连续的2个string 需要做循环去找起始位置。 本题为一个target和一个source,则只需要一个循环去找source里面的起始位置。 对于找2个string里面的longest common substring 则需要用2重的for 循环去寻找两个起始位置。

      2. 注意for循环结束位置的控制  

 

初始化部分:

      我的代码:

if (source == null || target == null ||             target.length() > source.length()) {              return -1;           }           if (target.length() == 0) {             return 0;             }         int m = source.length();         int n = target.length();

 

1 if (source == null || target == null || 2  3            target.length() > source.length()) { 4  5             return -1; 6  7         } 8  9         if (target.length() == 0) {10 11             return 0;12 13         }14 15         int m = source.length();16 17         int n = target.length();

九章答案:

if (source == null || target == null) { return -1; }

reflection:

               1.对于target和source的长度的判断在循环体内可以返回正确的结果,不需要当作特例。
    2.对于空和长度为0的特例初始化,先判断是否为null部分,否则为null时取length会报错。
    3. 对于target长度为0的情况,可以通过循环题处理。

循环体部分:

   我的代码:

for (int i = 0; i <= m - n; i++) {            for (int j = 0; j < n; j++) {                if (source.charAt(i + j) != target.charAt(j)) {                    break;                }                if (j == n - 1) {                    return i;                }            }        }        return -1;

九章答案:

 在外层循环的定义一个变量,当内层循环结束时,判断该变量的值。这样就可以处理长度为0的特殊情况。

 链接:       

 

转载于:https://www.cnblogs.com/jiangchen/p/5393846.html

你可能感兴趣的文章
Maven之setting.xml配置文件详解
查看>>
SDK目录结构
查看>>
malloc() & free()
查看>>
HDU 2063 过山车
查看>>
高精度1--加法
查看>>
String比较
查看>>
Django之Models
查看>>
CSS 透明度级别 及 背景透明
查看>>
Linux 的 date 日期的使用
查看>>
PHP zip压缩文件及解压
查看>>
SOAP web service用AFNetWorking实现请求
查看>>
Java变量类型,实例变量 与局部变量 静态变量
查看>>
mysql操作命令梳理(4)-中文乱码问题
查看>>
Python环境搭建(安装、验证与卸载)
查看>>
一个.NET通用JSON解析/构建类的实现(c#)
查看>>
Windows Phone开发(5):室内装修 转:http://blog.csdn.net/tcjiaan/article/details/7269014
查看>>
详谈js面向对象 javascript oop,持续更新
查看>>
关于这次软件以及pda终端的培训
查看>>
jQuery上传插件Uploadify 3.2在.NET下的详细例子
查看>>
如何辨别一个程序员的水平高低?是靠发量吗?
查看>>