标签:哈希 amp ide java item color nbsp class font
Write a method anagram(s,t)
to decide if two strings are anagrams or not.
What is Anagram?
Given s = "abcd"
, t = "dcab"
, return true
.
Given s = "ab"
, t = "ab"
, return true
.
Given s = "ab"
, t = "ac"
, return false
.
O(n) time, O(1) extra space
解题:题目给定两个字符串,判断这两个字符串除了字符字符顺序不同外,是否相等。最容易想到的还是将字符排序,判断对位字符是否相等。不过在java中,要对字符串中的字符排序,只能转化成字符数组,那么就不满足challenge条件了。但是用其他方法(例如哈希表),代码就只能处理字母或者ASCII中的字符,有损通用性,没什么意思。贴一下排序方法的代码:
1 public class Solution {
2 /**
3 * @param s: The first string
4 * @param t: The second string
5 * @return: true or false
6 */
7 public boolean anagram(String s, String t) {
8 // write your code here
9 char[]arr_s = s.toCharArray();
10 char[]arr_t = t.toCharArray();
11 Arrays.sort(arr_s);
12 Arrays.sort(arr_t);
13 return String.valueOf(arr_s).equals(String.valueOf(arr_t));
14 }
15 }
158. Valid Anagram【LintCode by java】
标签:哈希 amp ide java item color nbsp class font
原文地址:https://www.cnblogs.com/phdeblog/p/9125016.html