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

湛江宇锋网站建设admin5站长网

湛江宇锋网站建设,admin5站长网,WordPress添加网页背景图片,学校网站设计首页前言: 本章节更深入学习递归 计算布尔二叉树的值 思路: 1.函数头设计:dfs(root) 2.函数体:需要一个接收left 和 right 的值 并且根据root的值进行比较 3.递归出口:很明显 当为叶子节点的时候…

前言: 本章节更深入学习递归

计算布尔二叉树的值

 

思路: 
1.函数头设计:dfs(root)

2.函数体:需要一个接收left 和 right 的值  并且根据root的值进行比较

3.递归出口:很明显 当为叶子节点的时候 向上返回你叶子节点的值 并且与当前root的值进行比较

    public boolean evaluateTree(TreeNode root) {if(root.left == null && root.right == null) {return root.val > 0;}boolean left = evaluateTree(root.left);boolean right = evaluateTree(root.right);return root.val == 2 ? left || right : left && right;}

求根节点到叶节点数字之和

 

从根节点开始,遍历每个节点,如果遇到叶子节点,则将叶子节点对应的数字加到数字之和。如果当前节点不是叶子节点,则计算其子节点对应的数字,然后对子节点递归遍历。

    int ret = 0;public int sumNumbers(TreeNode root) {return dfs(root, 0);}public int dfs(TreeNode root, int preSum) {preSum = preSum * 10 + root.val;if (root.left == null && root.right == null) {return ret += preSum;}if (root.left != null) {dfs(root.left, preSum);}if (root.right != null) {dfs(root.right, preSum);}return ret;}

 二叉树剪枝

 

思路: 叶子节点为0 直接让它指向空  后序遍历思想

1.遍历完左子树 再遍历右子树

2. 如果遇到叶子节点 则判断当前节点是否为0 

3.如果为0 则直接返回null  否则不需要剪枝 直接返回原来值

    public TreeNode pruneTree(TreeNode root) {if (root == null) {return null;}root.left = pruneTree(root.left);root.right = pruneTree(root.right);if (root.left == null && root.right == null && root.val == 0) {return null;} else {return root;}}

验证二叉搜索树

思路:二叉搜索树 中序遍历是一个有序数组 利用这一特性
先定义一个最小数字prev

当遍历完左子树回退时候

比较是否prev跟当前回退的数字大小 

如果比prev大 则让prev=当前节点的值 

否则 就不是二叉搜索树

    long prev = Long.MIN_VALUE;public boolean isValidBST(TreeNode root) {if (root == null) {return true;}if (!isValidBST(root.left) || root.val <= prev) {return false;}prev = root.val;return isValidBST(root.right);}

 二叉搜索树中第 K 小的元素

 思路: 要求二叉搜索树第k大的数字

定义俩个全局变量 ret记录最终结果 count记录当前k

依次遍历到左子树 当为空的时候 就该回退了

并且 count-1 当count为0的时候 就是目标值了

 int ret;int count ;public int kthSmallest(TreeNode root, int k) {count = k;dfs(root);return ret;}public void dfs(TreeNode root) {if(root == null) {return ;}dfs(root.left);count--;if(count == 0) {ret = root.val;return ;}dfs(root.right);}

 

http://www.ds6.com.cn/news/10104.html

相关文章:

  • 怎样设计网站建设seo综合查询平台
  • 个人做信息分类网站需备案吗seo长尾关键词
  • 张家港外贸型网站制作个人怎么在百度上打广告
  • 网站上的验证码怎么做的媒介星软文平台官网
  • 大连网站建设谁家好免费的网页入口
  • wordpress调用树形目录公司以优化为理由裁员合法吗
  • 微商怎么做自己的网站推广seo优化公司
  • 苏州地区网站备案信息真实性核验登记表seo工具不包括
  • 做自己的网站需要什么刷外链网站
  • 手机管理wordpress站产品推广软文300字
  • 妇科医院网站设计免费p站推广网站入口
  • 哪一款软件可以自己做网站百度seo搜索
  • 平台搭建不武汉seo顾问
  • 微信网站欣赏百度输入法免费下载
  • h5网站制作介绍佛山网站建设维护
  • 悬浮图片wordpressapp关键词排名优化
  • 凡客网站设计关键词提取工具
  • 由于网站开发功能不完善网站设计与制作
  • 小内存wordpress国内专业的seo机构
  • 上海买二手房做哪个网站好深圳白帽优化
  • 代做毕设要注册答疑网站国外搜索引擎入口
  • 湘乡网站建设百度seo优化公司
  • 网站建设注意新手怎样做网络推广
  • 网站设计与建设报告网络营销的主要手段
  • 做拍客哪个网站好品牌活动策划
  • 做网站设计的公司名字发软文的网站
  • 关于做代购网站的纳税知识关键词挖掘ppt
  • 如何把做的网站变成链接seo推广代运营
  • 黄浦区做网站软文平台发布
  • 网站制作工作室学开网店哪个培训机构好正规