uva java_UVA Ananagrams 这题水的一逼,欢迎使用Java

原题见

:::::::::::链接在Vjudge因为UVA好像访问不了:::::::::::

这是一堆字符串,那么只要用Java强大的字符串处理功能就可以轻松解决

/*遇到大数类啊字符串啊可以先考虑考虑Java能不能做*/

首先java可以吧输入的字符串直接copy一个新的出来

然后我们对新字符串进行转小写和toCharArray()操作并把这个char[]进行排序

用一个字符串记录处理后不同的字符串,每个子字符串前后记得加上“ ”方便之后查找

这样只有查到有的就不再加入s字符串,并且删去原有List中的相同字符串

如果没有就加进去

执行如上操作后

还要注意最后输出是要排序的

再利用Collections类的sort()方法即可实现排序

for each 比起c++的迭代器美滋滋

这样就完成了所有操作

import java.util.*;

public class Main{

static LinkedList a=new LinkedList();

static LinkedList b=new LinkedList();

static void remove(String m,String x){

for(int i=a.size()-1;i>=0;i--) {

if(a.get(i).equals(m)) {

a.remove(i);

b.remove(i);

return;

}

}

}

public static void main(String args[]) {

Scanner in=new Scanner(System.in);

String s="";

while(in.hasNext()) {

String x=in.next();

if(x.equals("#"))break;

char r[]=x.toLowerCase().toCharArray();

Arrays.sort(r);

String m=" ";

for(char i:r)m+=i;

m+=" ";

if(s.contains(m)) {

remove(m,x);

}else {

a.add(m);

b.add(x);

s=s+m;

}

}

Collections.sort(b);

for(String q:b) {

System.out.println(q);

}

in.close();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值