Write a method anagram(s,t)
to decide if two strings are anagrams or not.
Example
Given s="abcd"
, t="dcab"
, return true
.
根据定义可知,两个字符串为anagrams,则每个字符出现的次数相同。
因此有两种解法: 1. 将两个字符串排序,如果排序后两字符串相等则返回true.
2. 统计量字符串的中字符出现的次数是否相等。
1 public class Solution { 2 /** 3 * @param s: The first string 4 * @param b: The second string 5 * @return true or false 6 */ 7 public boolean anagram(String s, String t) { 8 if (s.length() != t.length()) { 9 return false; 10 } 11 12 int[] count = new int[256]; 13 14 for (int i = 0; i < s.length(); i++) { 15 count[(int) s.charAt(i)]++; 16 } 17 18 for (int i = 0; i < t.length(); i++) { 19 count[(int) t.charAt(i)] --; 20 if (count[(int) t.charAt(i)] < 0) { 21 return false; 22 } 23 } 24 return true; 25 } 26 };
时间: 2024-10-14 19:17:04