思路:
這題理解題意的時(shí)候就用了很久,其實(shí)就是映射關(guān)系,字符串s里的每個(gè)字母都可以由t中替代,所以當(dāng)s中有相同字母,t中也要有相同的字母,這樣就不會(huì)出現(xiàn)s中一個(gè)字母對(duì)了多個(gè)t中的字母。
所以用HashMap。分別把兩個(gè)字符串存到兩個(gè)map中。如果map中字母?jìng)€(gè)數(shù)相等,說(shuō)明可以建立一一對(duì)應(yīng)的關(guān)系,返回true
建一個(gè)map保存映射關(guān)系, 同時(shí)用一個(gè)set保持 被映射的char, 保證同一個(gè)char 不會(huì)被映射兩次.
https://my.oschina.net/Tsybius2014/blog/489587
知識(shí)點(diǎn):
HashSet是Set的一個(gè)實(shí)現(xiàn)類,包含的對(duì)象拒絕重復(fù)。HashMap是Map的一個(gè)實(shí)現(xiàn)類,鍵值不能重復(fù)但是value允許重復(fù),可以出現(xiàn)null,繼承自AbstractMap類,線程缺省值是非synchronized
HashTable是內(nèi)部不允許出現(xiàn)null,繼承自dictionary類,線程是synchronized,和HashMap都實(shí)現(xiàn)了map接口。