算法:判断一个字符串是否包含另外一个字符串

//思路:先查找第一个,若是不匹配直接结束;若是匹配,就依次判断后面的是否都匹配,不匹配直接结束 public class StringContains {     // container是否包含child     public static boolean str1ContainsStr2(String container, String child) {         if (container.length() < child.length()) {             return false;         }         int maxLength = container.length();         char first = child.charAt(0);         int i = -1;         while (++i < maxLength) {             // 先找第一个元素是否能找到             if (first == container.charAt(i)) {                 // 找到第一个元素再去匹配后面的元素                 if (matchStr(container.substring(i), child)) {                     return true;                 }             }         }         return false;     }     // max是否包含min     public static boolean matchStr(String max, String min) {         if (max.length() < min.length()) {             return false;         }         int i = -1;         int minLength = min.length();         while (++i < minLength) {             // 对应位置的元素是否都相等             if (min.charAt(i) != max.charAt(i)) {                 return false;             }         }         return true;     }     public static void main(String[] args) {         String str1 = "abcdefghijklmn";         String str2 = "fghijklmn";         String str3 = "fgj";         String str4 = "agh";         System.out.println(str1ContainsStr2(str1, str2));     } }