Lintcode487-Name Deduplication-Easy

487. Name Deduplication

Given a list of names, remove the duplicate names. Two name will be treated as the same name if they are equal ignore the case.

Return a list of names without duplication, all names should be in lowercase, and keep the order in the original list.

Example

Example 1:

Input:["James", "james", "Bill Gates", "bill Gates", "Hello World", "HELLO WORLD", "Helloworld"]


Output:["james", "bill gates", "hello world", "helloworld"]

Clarification

You can assume that the name contains only uppercase and lowercase letters and spaces.

思路:

用hashmap去除重复,先把字符串转小写,调用toLowerCase方法,返回值要重新赋值给str!! 

代码:

 1 public class Solution {
 2     /**
 3      * @param names: a string array
 4      * @return: a string array
 5      */
 6     public List<String> nameDeduplication(String[] names) {
 7         List<String> result = new ArrayList<String>();
 8         Map<String, Integer> map = new HashMap<String, Integer>();
 9         for (String str : names) {
10             str = str.toLowerCase();
11             if (!map.containsKey(str)) {
12                 map.put(str, 1);
13                 result.add(str);
14             }
15         }
16         return result;
17     }
18 }

 

转载于:https://www.cnblogs.com/Jessiezyr/p/10677957.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值