lintcode 171 亂序字串

2021-08-03 08:17:38 字數 1294 閱讀 2104

給出乙個字串陣列s,找到其中所有的亂序字串(anagram)。如果乙個字串是亂序字串,那麼他存在乙個字母集合相同,但順序不同的字串也在s中。

注意事項

所有的字串都只包含小寫字母

樣例

對於字串陣列 [「lint」,」intl」,」inlt」,」code」]

返回 [「lint」,」inlt」,」intl」]

一,使用hashmap,亂序字串擁有同樣的key,亂序字串放入arraylist< string >中,作為value

二,key該是什麼形式? 字元+個數 「abadc」——> 「a2b1c1d1」

三,首先:將陣列s中元素put進hash中

然後:獲取hash的values,遍歷,若value.size()>1,則為一組亂序字串

public

class

solution

res.add(str); //在此給value arraylist新增遍歷到的string

}arraylistresset =new arraylist();

for(arraylistanagram:hash.values())

return resset;

}public string generalstring(string s)

stringbuilder sb=new stringbuilder();

for(i=0;i<26;i++)

/* if(a[i]==0) continue;

}

return sb.tostring();

}}

hashmap定義,初始化

hashmap< string,arraylist< string>> hash=new hashmap< string,arraylist< string>>();

hashmap新增元素

hash.put(key,res);

hashmap由key取value

arraylist< string> res=hash.get(key);

hashmap中所有值

hash.values()

陣列的另一種遍歷方法

for(string str:s)

arraylist< t> a 新增 arraylist< t> a的所有元素

a.addall(a);

lintcode 171 亂序字串

給出乙個字串陣列s,找到其中所有的亂序字串 anagram 如果乙個字串是亂序字串,那麼他存在乙個字母集合相同,但順序不同的字串也在s中。樣例 樣例1 輸入 lint intl inlt code 輸出 lint inlt intl 樣例 2 輸入 ab ba cd dc e 輸出 ab ba cd...

lintcode 171 亂序字串

給出乙個字串陣列s,找到其中所有的亂序字串 anagram 如果乙個字串是亂序字串,那麼他存在乙個字母集合相同,但順序不同的字串也在s中。注意事項 所有的字串都只包含小寫字母 樣例對於字串陣列 lint intl inlt code 返回 lint inlt intl 挑戰what is anagr...

兩次過 Lintcode 171 亂序字串

給出乙個字串陣列s,找到其中所有的亂序字串 anagram 如果乙個字串是亂序字串,那麼他存在乙個字母集合相同,但順序不同的字串也在s中。對於字串陣列 lint intl inlt code 返回 lint inlt intl what is anagram?所有的字串都只包含小寫字母 找到所有相同...