2019-08-18

Valid Palindrome II

/**
greedy算法
从两边向中间搜索,如果对应位置不相等
则去掉左边的或者去掉右边的元素之后,剩余部分应该为回文
*/
func validPalindrome(s string) bool {
    str := []byte(s)
    l := len(s)
    for i := 0; i < l/2; i++ {
        if str[i] != str[l-i-1] {
            j := l - i - 1
            return isPalindrome(str, i+1, j) || isPalindrome(str, i, j-1)
        }
    }
    return true
}
func isPalindrome(s []byte, l, r int) bool {
    for i := l; i <= l+(r-l)/2; i++ {
        if s[i] != s[r-i+l] {
            return false
        }
    }
    return true
}

Sum of Root To Leaf Binary Numbers

type TreeNode struct {
    Val   int
    Left  *TreeNode
    Right *TreeNode
}

var ret int

func sumRootToLeaf(root *TreeNode) int {
    ret = 0
    helper(root, 0)
    return ret
}
func helper(root *TreeNode, sum int) {
    if root == nil {
        return
    }
    sum = sum << 1
    sum += root.Val
    if root.Left == nil && root.Right == nil {
        ret += sum
        return
    }
    if root.Left != nil {
        helper(root.Left, sum)
    }
    if root.Right != nil {
        helper(root.Right, sum)
    }
}

Repeated Substring Pattern

func repeatedSubstringPattern(s string) bool {
    str := []byte(s)
    if len(str) <= 1 {
        return false
    }
    max := len(str) / 2
    for i := 1; i <= max; i++ {
        j := i
        idx := 0
        if len(str)%i > 0 {
            continue
        }
        for ; j < len(str); j++ {
            if str[j] != str[idx] {
                break
            }
            idx++
            if idx >= i {
                idx = 0
            }
        }

        if j == len(str) {
            return true
        }
    }
    return false
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 12,196评论 0 10
  • 《论语》,曾子曰:“吾日三省吾身”(我每天多次反省自己)。前端面试每日3+1题,以面试题来驱动学习,每天进步一点!...
    浪子神剑阅读 1,760评论 1 2
  • 最近“小欢喜”剧情进展的很热闹,说来说去,也是“教书育人”的故事,和芒格老爷子的这篇演讲稿异曲同工。周日,继续推进...
    小镇蜗牛哥阅读 3,304评论 1 0
  • 今天来说说别人的故事,一个关于爱情也关于生活的故事。 阿觞有一个朋友小竹,狮子座,大大咧咧重感情的一个女生,跟阿觞...
    觞一竹阅读 3,741评论 0 1
  • 青春期的那几年,我对母亲是有不满的。我埋怨她离开过我一段时间,没有一直陪伴我;我觉得她没有把我打扮的漂漂亮亮的让班...
    Daisy恒树阅读 3,696评论 2 2

友情链接更多精彩内容