1. 程式人生 > >給定兩個字串a和b,判斷b是否是a的子序列,例如a=”abndjs“,b=“and”則返回ture,如果b=”adn“,那麼返回false

給定兩個字串a和b,判斷b是否是a的子序列,例如a=”abndjs“,b=“and”則返回ture,如果b=”adn“,那麼返回false

public class 判斷是否是子串 {
	public static void main(String[] args) {
		boolean flag = isSubString("avdslg", "avdlg");
		System.out.println(flag);
	}
	public static boolean isSubString(String a,String b){
		if (a.length()<b.length()) {
			return false;
		}else{
			int ptr=0;
			int count=0;//這裡是統計相同字元,
			for(int i=0;i<b.length();i++){
				for(int j=ptr;j<a.length();j++){
					if (a.charAt(j)==b.charAt(i)) {
						ptr=j+1;
						count++;
					}
				}
			}
			return count==b.length()?true:false;
		}
	}
}