package me.ramswaroop.strings; /** * Created by IntelliJ IDEA. * * @author: ramswaroop * @date: 10/20/15 * @time: 1:15 PM * @see: me.ramswaroop.strings.StringRotation for a similar problem. */ public class SubStringCheck { /** * Naive approach to determine whether string {@param s2} is a * substring of string {@param s1}. * * @param s1 * @param s2 * @return */ public static boolean isSubString(String s1, String s2) { char[] c1 = s1.toCharArray(), c2 = s2.toCharArray(); int l1 = c1.length, l2 = c2.length, i, j; for (i = 0; i <= l1 - l2; i++) { for (j = 0; j < l2 && i + j < l1; j++) { if (c1[i + j] != c2[j]) break; } if (j == l2) { return true; } } return false; } public static void main(String a[]) { System.out.println(isSubString("ramswaroop", "ramswaroop")); System.out.println(isSubString("ramswaroop", "")); System.out.println(isSubString("ramswaroop", "ram")); System.out.println(isSubString("ramswaroop", "rams")); System.out.println(isSubString("ramswaroop", "ramss")); System.out.println(isSubString("ramswaroop", "ar")); } }