剑指Offer28:常见的三个字符串问题

常见的三个字符串问题

问题1、从第一个字符串中删除在第二个字符串中出现的所有字符。

问题描述

定义一个函数,输入两个字符串,从第一个字符串中删除在第二个字符串中出现的所有字符。

public class Code028_05 {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        String str1=sc.nextLine();
        String str2=sc.nextLine();
        removeSubString(str1,str2);
    }
    private static void removeSubString(String str1,String str2){
        if(str1.length()==0 || str2.length()==0){
            return;
        }
        ArrayList list=new ArrayList<>();
        for(int i=0;i

问题2、删除字符串中所有重复出现的字符

public class Code028_05 {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        String str1=sc.nextLine();
        String str2=sc.nextLine();
        removeRepeat(str1);
    }
    private static void removeRepeat(String string){
        if(string.length()==0){
            return;
        }
//        Vector vector=new Vector<>();
//        for(int i=0;i map=new HashMap<>();
        for(int i=0;i

问题3、变位词问题

问题描述

在英语中,如果两个单词出现的字母相同,并且每个字母出现的次数也相同,那么两个单词护卫变位词。定义函数,是否互为变位词。输入两个字符串,判断是否互为变位词

public class Code028_05 {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        String str1=sc.nextLine();
        String str2=sc.nextLine();
        boolean result=isVariant(str1,str2);
        System.out.print(result);
    }
    private static boolean isVariant(String str1,String str2){
        if(str1.length()==0 || str2.length()==0 ||str1.length()!=str2.length()){
            return false;
        }
        HashMap map=new HashMap<>();
        for(int i=0;i0){
                return false;
            }
        }
        return true;
    }
}

你可能感兴趣的:(剑指Offer系列(java))