2017年12月4日 星期一

[LeetCode] 242. Valid Anagram

轉自LeetCode

Given two strings s and t, write a function to determine if t is an anagram of s.
For example,
s = "anagram", t = "nagaram", return true.
s = "rat", t = "car", return false.
Note:
You may assume the string contains only lowercase alphabets.
<Solution>

想法如下
  • 如果長度不同,直接回傳 false
  • 因為題目有說,只會包含小寫英文字母,所以可以用長度 26 的 array 來記錄
  • 根據 anagram 的定義,在 s 出現的字母,在 t 也一定要出現,且次數也要一樣。因此,當一個字母出現在 s,就將該字母的次數加 1,然後如果該字母也出現在 t,那就把該字母的次數減 1,這樣當歷遍完 s 和 t,如果 t 是 s 的 anagram,則所有的記數應該都要是 0
code 如下

Java

kotlin

沒有留言:

張貼留言