1
2
3
4
<code>Given two strings s and t, write a function to determine if t is an anagram of s.</code>
<code>For example,</code>
<code>s = "anagram", t = "nagaram", return true.</code>
<code>s = "rat", t = "car", return false.</code>
題意:給的兩個字元串判斷是否是相同字元組成的不同字元串
5
6
7
8
9
10
11
12
13
14
15
16
17
<code>public</code> <code>class</code> <code>Solution {</code>
<code> </code><code>public</code> <code>boolean</code> <code>isAnagram(String s, String t) {</code>
<code> </code><code>int</code><code>[] ret=</code><code>new</code> <code>int</code><code>[</code><code>26</code><code>];</code>
<code> </code><code>for</code><code>(</code><code>int</code> <code>i=</code><code>0</code><code>;i<s.length();i++){</code>
<code> </code><code>ret[s.charAt(i)-</code><code>'a'</code><code>]--;</code>
<code> </code><code>}</code>
<code> </code><code>for</code><code>(</code><code>int</code> <code>i=</code><code>0</code><code>;i<t.length();i++){</code>
<code> </code><code>++ret[t.charAt(i)-</code><code>'a'</code><code>];</code>
<code> </code><code>for</code><code>(</code><code>int</code> <code>i=</code><code>0</code><code>;i<</code><code>26</code><code>;i++){</code>
<code> </code><code>if</code><code>(ret[i]!=</code><code>0</code><code>)</code>
<code> </code><code>return</code> <code>false</code><code>;</code>
<code> </code><code>return</code> <code>true</code><code>;</code>
<code> </code>
<code> </code><code>}</code>
<code>}</code>
PS:參見之前的那個勒索信的那個,直接hash求出每個字元的數量即可
本文轉自 努力的C 51CTO部落格,原文連結:http://blog.51cto.com/fulin0532/1890860