首页 > 代码库 > 去除反复字符并排序
去除反复字符并排序
执行时间限制:无限制
内容限制: 无限制
输入: 字符串
输出: 去除反复字符并排序的字符串
例子输入: aabcdefff
例子输出: abcdef
思路:
这个题用数组来哈希,时间复杂度为O(n)
1) 初始化一个int数组hash,数组的角标和数组的值正好构成一对<key,value>;
2) 遍历字符串,将每一个字符放入数组中相应的位置,出现过得字符,其数组值为1
3) 遍历数组,输出数组中数组值为1所相应的字符
Java解法:
import java.util.Scanner;
public class Main
{
public static void main(String[] args){
Scanner cin=new Scanner(System.in);int hash[]=new int[256];if (cin.hasNext()){String temp=cin.next();func(temp, hash);}
}
public static void func(String str, int[] hash){
for (int i = 0; i < str.length(); i++){
char c=str.charAt(i);if (hash[c]==0){hash[c]=1;}
}for (int i = 0; i < hash.length; i++){
if (hash[i]!=0){char c=(char)i;System.out.print(c);}
}
}
}
去除反复字符并排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。