当前位置: 首页 > news >正文

松江区网站建设长沙网站seo优化

松江区网站建设,长沙网站seo优化,对网站开发语言的统计,什么什么网站文章目录 刷题前唠嗑题目:二叉树中的伪回文路径题目描述代码与解题思路偷看大佬题解 结语 刷题前唠嗑 LeetCode?启动!!! 这个月第一次周末早起~ 题目:二叉树中的伪回文路径 题目链接:1457. 二…

文章目录

  • 刷题前唠嗑
  • 题目:二叉树中的伪回文路径
    • 题目描述
    • 代码与解题思路
    • 偷看大佬题解
  • 结语

刷题前唠嗑


LeetCode?启动!!!

这个月第一次周末早起~

题目:二叉树中的伪回文路径

题目链接:1457. 二叉树中的伪回文路径

题目描述

代码与解题思路

func pseudoPalindromicPaths (root *TreeNode) (ans int) {cnt := make([]int, 10)dfs(root, cnt, &ans)return ans
}func dfs(root *TreeNode, cnt []int, ans *int) {if root == nil {return}cnt[root.Val]++defer func() { cnt[root.Val]-- }()if root.Left == nil && root.Right == nil {if isFalsePalindromes(cnt) {*ans++}return}dfs(root.Left, cnt, ans)dfs(root.Right, cnt, ans)
}func isFalsePalindromes(cnt []int) bool { // 回文串最多只能存在一个奇数个数的值odd := 0for _, v := range cnt {if v%2 == 1 {odd++}}return odd <= 1
}

我做这道题的主要思路就是 dfs 搜索整个二叉树,在搜索的过程中用一个数组记录数字的出现情况,然后在走完一条路之后,判断是否是伪回文串,主要有两个需要注意的地方:

  1. 如何判断是否是伪回文串?回文串只有两种可能,长度为奇数时,有一个值的个数是奇数,长度为偶数时,每个值的个数都是奇数。也就是只要数组中的值的个数是奇数的数量 <= 1 他就一定是伪回文串啦
  2. 在使用数组进行计数的时候,当 dfs 回退到上一级的时候,计数需要 --,不然之前的计数会影响新一条路径的计数

偷看大佬题解

func pseudoPalindromicPaths(root *TreeNode) int {return dfs(root, 0)
}func dfs(root *TreeNode, mask int) int {if root == nil {return 0}mask ^= 1 << root.Val // 修改 root.Val 出现次数的奇偶性if root.Left == root.Right { // root 是叶子节点if mask&(mask-1) == 0 {return 1}return 0}return dfs(root.Left, mask) + dfs(root.Right, mask)
}

大佬的题解太妙了,具体思路是这样的:

  1. 通过 10 个二进制位来表示这个十个数字,如果是值的数量是奇数则为 1,如果是偶数则为 0,这个是异或操作的结果
  2. 通过 mask&(mask-1),判断数量是奇数个的值有多少个,如果存在 1 个或者 0 个,使用 mask&(mask-1) 操作的结果就会等于 0,具体来说:如果是 mask 全为 0,& 任何数都为零(这就是存在 0 个数量的值是奇数的情况),如果是 mask 有一个位是 1,mask-1 这个操作会让一个 mask 中一个 1 的位置发生改变,也就是如果 mask 只存在一个 1,那使用 mask&(mask-1) 就会等于 0。(这就是存在 1 个数量的值是奇数的情况)

结语

学到了位运算的新用法

http://www.zhongyajixie.com/news/51310.html

相关文章:

  • 怎么做二维码网站百度指数分是什么
  • 网页设计作品欣赏网站站长之家seo综合查询
  • 做交友网站成本cba最新积分榜
  • 服务类网站怎么做上海网络seo优化公司
  • net的电商网站建设杭州余杭区抖音seo质量高
  • 个人博客网站搭建模板网店推广运营策略
  • 沈阳品牌网站建设搜索竞价排名
  • 腾讯云域名购买流程seo网络营销外包公司
  • 公司的网站建设计入什么科目赵阳竞价培训
  • 做海报用什么网站360优化大师安卓版下载
  • 装修网站排行榜前十名有哪些百度2023免费下载
  • 做oa好 还是做网站好网络推广外包公司排名
  • 企业网站推广的方式世界杯球队最新排名
  • 自己做网站能赚钱吗2018怎么制作网页链接
  • 成都网站建设 seo应用商店优化
  • 南京移动网站建设报价百度医生
  • 织梦cms传播公司网站模板阿里巴巴指数查询
  • 哪些网站是专做合租的淘宝店铺怎么推广
  • 怎么注册com网站免费的优化排名 生客seo
  • 网站怎么弄2024会爆发什么病毒
  • 医疗器械做网站备案互联网营销的方式有哪些
  • 网站 友情链接怎么做新闻式软文经典案例
  • 做亚马逊网站费用网站seo视频狼雨seo教程
  • 英文购物网站模板下载成都自然排名优化
  • 如何利用网站来提升企业形象怎样推广app别人才愿意下载
  • 购物网站可行性分析报告龙岗seo优化
  • 武汉网站排名seo方法图片
  • 做营销型网站多少钱医疗器械龙头股
  • 网站主页设计代码网络营销策划怎么写
  • 网站开发公司起名2022年小学生新闻摘抄十条