【简单面试题】查看字符串的组成是否相同

相同字符串【面试题】

image-20221228105943832

我感觉还是集合用着舒服

 /*
  * Copyright (c) 2006, 2022, wuyahan 编写
  *
  */
 package cn.lele.stropt;

 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;

 /**
  * <p>Project: CrossFireAndLive - Main
  * <p>Powered by wuyahan On 2022-12-28 09:41:51
  *
  * @author wuyahan [tianwenle2000@163.com]
  * @version 1.0
  * @since 17
  */
 public class Main {

     public static void main(String[] args) {
         String[] strs = {"eat", "book", "tea", "tan", "ate", "nat", "bat", "bkoo"};
         System.out.println("Arrays.toString(strs) = " + Arrays.toString(strs));

         String[] strings = strs[0].split("");

         List<String> list = new ArrayList<>();
         List<String> result = new ArrayList<>();
         // 如果之前检测到相同的单词 则跳过 ,继续没有检测过的
         for (String str : strs) {
             if (!list.contains(str)) {
                 List<String> eachOne = eachOne(strs, str.split(""));
                 result.add(Arrays.toString(eachOne.toArray()));
                 list.addAll(eachOne);
             }
         }
         System.out.println("result = " + result);
     }

     // 获取每次循环到的相同字母的集合
     private static List<String> eachOne(String[] strs, String[] strings) {
         List<String> list = new ArrayList<>();
         for (String str : strs) {
             int i;
             for (i = 0; i < strings.length; i++) {
                 if (!str.contains(strings[i])) {
                     break;
                 }
             }

             if (i == strings.length) {
                 list.add(str);
             }

         }
         return list;
     }

 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值