大厂面试题目 - String 的内容替换相关面试题目

面试题目 - String 的内容替换


在这里插入图片描述

public class Test {
    
    
	public static void main(String[] args) {
    
    
		// 定义如下三个 字符串:
		String s1 = "aabbcdabbajklkabb";
		
		String s2 = "ab";
		
		String s3 = "bab";
		
		String r2="";
		
		while(check(s1,s2,s3)){
    
    
			for(int i=0;i<=s1.length()-s2.length();i++){
    
    
				String r= "";
				for(int j=i;j<i+s2.length();j++){
    
    
					r+=s1.charAt(j);
				}
				if(equals(r,s2)){
    
    
					r2 = "";
					for(int k=0;k<i;k++){
    
    
						r2+=s1.charAt(k);
					}
					for(int k=0;k<s3.length();k++){
    
    
						r2+=s3.charAt(k);
					}
					for(int k=i+s2.length();k<s1.length();k++){
    
    
						r2+=s1.charAt(k);
					}
					s1=r2;
					i+=s3.length()-1;
				}
			}
		}
		System.out.println(r2);
	}
	public static boolean check(String s1,String s2,String s3){
    
    
		for(int i=0;i<=s1.length()-s2.length();i=i+s3.length()){
    
    
			String r= "";
			for(int j=i;j<i+s2.length();j++){
    
    
				r+=s1.charAt(j);
			}
			if(equals(r,s2)){
    
    
				return true;
			}
		}
		return false;
	}
	public static boolean equals(String str1,String str2){
    
    
		for(int i=0;i<str1.length();i++){
    
    
			if(str1.charAt(i)!=str2.charAt(i)){
    
    
				return false;
			}
		}
		return true;
	}
}

猜你喜欢

转载自blog.csdn.net/Java_lover_zpark/article/details/105423188