題目描述

當兩字串是由相同的字元組成時,被稱作變位詞。變位詞可能有不同的字元排序方式,舉例來說「CAT」的變位詞有「CAT」、「ACT」、「TAC」、「TCA」、「ATC」和「CTA」。



給定兩個字串,如果他們是變位詞的話,輸出「Anagrams」,否則輸出「Not Anagrams」。每個字串最多包含50個英文字母,大小寫不同的字母視為不同的字元。

原題網址

https://www.hackerrank.com/challenges/java-anagrams

範例輸入1

anagram
margana

範例輸出1

Anagrams

範例輸入2

anagramm
marganaa

範例輸出2

Not Anagrams

解題概念

先判斷兩字串的長度是否相同,如果不相同,兩字串必定不是變位詞。

接著將兩字串轉為字元陣列,使用Arrays類別所提供的sort方法來進行排序。然後依序比較兩字元陣列的元素是否相同,如果相同,表示兩字串為變位詞;如果不相同,表示兩字串不是變位詞。

參考答案