[HackerRank]Java變位詞(Java Anagrams)

題目描述

當兩字串是由相同的字元組成時,被稱作變位詞變位詞可能有不同的字元排序方式,舉例來說「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方法來進行排序。然後依序比較兩字元陣列的元素是否相同,如果相同,表示兩字串為變位詞;如果不相同,表示兩字串不是變位詞

參考答案

關於作者

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章