前言
新的一年,好好学习。
正文
问题来源
本问题来自leetcode上的90题。
问题描述
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。
示例 1:
输入: "A man, a plan, a canal: Panama"
输出: true
示例 2:
输入: "race a car"
输出: false
分析:
水题,秒切
func subsetsWithDup(nums []int) [][]int {
if nil == nums {
return nil
}
sort.Ints(nums)
ret := append([][]int{}, []int{}, []int{nums[0]})
l := len(nums)
lastIndex := 1//减少判断i==0
for i := 1; i < l; i++ {
if nums[i-1] != nums[i] {
lastIndex = 0
}
lnum := len(ret)
for j := lastIndex; j < lnum; j++ {
temp := append([]int{}, ret[j]...)
temp = append(temp, nums[i])
ret = append(ret, temp)
}
lastIndex = lnum
}
return ret
}
总结:
勤思考。
结语
不管怎么样好好加油。