题解 | #查找兄弟单词#

查找兄弟单词

https://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息

public class Main {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);

        //接收n个字典单词

        int n=in.nextInt();

        String[] zidian=new String[n];

        for(int i=0;i<n;i++){

            zidian[i]=in.next();

        }

        String x=in.next();//接受x

        int k=in.nextInt();

        ArrayList<StringtreeSet=new ArrayList<>();

        //是否是兄弟单词满足两个条件:1.单词所含字母相同但是值不同

        for(int i=0;i<n;i++){

            if(!zidian[i].equals(x)&&isSame(zidian[i],x)){

                treeSet.add(zidian[i]);

            }

        }

        treeSet.sort(Comparator.naturalOrder());

        System.out.println(treeSet.size());

        int count=0;

        for(String s:treeSet){

            count++;

            if(count==k)

                System.out.print(s);

        }

    }

    //判断两个字符串是否所含字母相同

    public static boolean isSame(String s1,String s2){

        ArrayList<Charactert1=new ArrayList<>();

        ArrayList<Charactert2=new ArrayList<>();

        char[] c1=s1.toCharArray();

        char[] c2=s2.toCharArray();

        for(int i=0;i<c1.length;i++){

            t1.add(c1[i]);

        }

        for(int i=0;i<c2.length;i++){

            t2.add(c2[i]);

        }

        t1.sort(Comparator.naturalOrder());

        t2.sort(Comparator.naturalOrder());

        if(t1.equals(t2)){

            return true;

        }

        return false;

    }

}

全部评论

相关推荐

求个付费实习岗位:这种就是吃满时代红利又没啥技术水平,只能靠压力学生彰显优越感的老登,别太在意了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务