您的位置:首页 > 编程语言 > Go语言

(go语言)242.validanagram

2016-06-21 00:04 387 查看

(Go语言)242.ValidAnagram

用数组统计

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.

Follow up:

What if the inputs contain unicode characters? How would you adapt your solution to such case?

package main

import (
"fmt"
)

func isArrayCntSame(srcCnt [26]int, targetCnt [26]int) bool {
//26

for index := 0; index < 26; index++ {
if srcCnt[index] != targetCnt[index] {
return false
}
}

return true
}

func strToArrayCnt(src string, srcCnt []int) bool {
strLen := len(src)
for index := 0; index < strLen; index++ {
srcCnt[src[index]-'a']++
}

return false
}

func isAnagram(s string, t string) bool {
var srcCnt = [26]int{0}
var targetCnt = [26]int{0}

var srcSlice []int = srcCnt[:]
strToArrayCnt(s, srcSlice)
var targetSlice []int = targetCnt[:]
strToArrayCnt(t, targetSlice)

if isArrayCntSame(srcCnt, targetCnt) == false {
return false
} else {
return true
}
}

func main() {
fmt.Println("1")

isAnagram("anagram", "nagaram")
isAnagram("cat", "car")
isAnagram("", "")
isAnagram("aa", "aa")

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: