题解 | #字符串去重#

字符串去重

http://www.nowcoder.com/practice/f105c85ed9d44469986d56c27920639e

题意整理。

  • 输入一个字符串,去除其中重复的字符。

方法一(HashSet)

1.解题思路

  • 新建HashSet,然后遍历字符串,将所有字符添加到Set。
  • 由于HashSet本身结构不允许有重复的项,所以会自动去除重复的元素。

动图展示: alt

2.代码实现

import java.util.HashSet;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.nextLine();
        scanner.close();
        HashSet<Character> hs = new HashSet<>();

        //将所有字符添加到HashSet
        for(char c:str.toCharArray()){
            //由于HashSet本身结构不允许有重复的项,所以会自动去重
            hs.add(c);
        }

        for (char c:hs) {
            System.out.print(c);
        }
    }
}

3.复杂度分析

  • 时间复杂度:假设输入字符串的长度为n,需要遍历所有的字符,所以时间复杂度为O(n)O(n)
  • 空间复杂度:需要额外大小为n的HashSet,所以空间复杂度为O(n)O(n)
xqxls的题解 文章被收录于专栏

牛客题解

全部评论

相关推荐

我即大橘:耐泡王
点赞 评论 收藏
分享
CrazyBucket:我今天下午也做梦在招聘会上面试一家小厂,给自己气笑了
点赞 评论 收藏
分享
9 收藏 评论
分享
牛客网
牛客企业服务