242. 有效的字母异位词
两个单词如果包含相同的字母,次序不同,则称为字母易位词(anagram)
思路
- 字符转换成byte
- byte排序
- byte挨个对比
// 两个单词如果包含相同的字母,次序不同
func quickSort(arr []byte, left int, right int) {
if left > right {
return
}
i := left
j := right
get := arr[right];
for i < j {
for i < j && arr[i] <= get{
i++
}
arr[j] = arr[i]
for i < j && arr[j] >= get {
j--
}
arr[i] = arr[j]
}
arr[i] = get
quickSort(arr,left,i- 1)
quickSort(arr,i+1,right)
}
func isAnagram(s string, t string) bool {
if len(t) > len(s) || len(t) < len(s){
return false
}
sq1 := []byte(s)
sq2 := []byte(t)
quickSort(sq1, 0, len(sq1)-1)
quickSort(sq2, 0, len(sq2)-1)
for i:=0; i<len(s); i++ {
if sq1[i] != sq2[i]{
return false
}
}
return true
}