判断一个字符串是否是另一个字符串的子串

题目

判断一个字符串是否是另一个字符串的子串
例如,字符串1=abcdefgh
子字符串2=def 是字符串1的子串
子字符串3=df 不是字符串1的子串

解析

用子字符串去比较原字符串分别以每个字母开头的子串

  1. 如果两个子串的第一个字母相同继续比较后面的
  2. 否则继续去比较原字符串的下一个字母开头的子串。

代码

public class IsSubString {
    public boolean isSubString(String source, String sub){
        if (null == sub || null == source){
            return false;
        }
        if (source.length() < sub.length()){
            return false;
        }
        //原字符串从第一个字符开始
        for (int i=0; i < source.length(); i++){
            //如果第一个字符相同,继续比较子串之后的字符
            //否则原字符串从下一个字符开始
            if (source.charAt(i) == sub.charAt(0)){
                int j = i + 1;
                int k = 1;
                while (j

你可能感兴趣的:(判断一个字符串是否是另一个字符串的子串)