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

中国最大的博客网站新浪体育最新消息

中国最大的博客网站,新浪体育最新消息,wordpress+帖子置顶,新洲网站建设前言 书接上篇文章二叉树习题其四,这篇文章我们将基础拓展 ###我做这类文档一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一…

前言

书接上篇文章二叉树习题其四,这篇文章我们将基础拓展

###我做这类文档一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!


习题

1.二叉树的最近公共祖先

题目链接:236. 二叉树的最近公共祖先 - 力扣(LeetCode)

题面:

基本分析:如果一个节点的左右子树含有目标值,那么这个节点就是祖先,如果只有左/右子树含有,那这个就不是祖先

代码:

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode(int x) { val = x; }* }*/
class Solution {TreeNode res;public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {recursion(root,p.val,q.val);return res;}public int recursion(TreeNode node,int a,int b){if(node==null)return 0;int c = node.val==a|node.val==b?1:0;int left = recursion(node.left,a,b);int right = recursion(node.right,a,b);if(c+left+right==2)res = node;return c+left+right==0?0:1;}
}

2.二叉搜索树中的插入操作

题目链接:701. 二叉搜索树中的插入操作 - 力扣(LeetCode)

题面:

基本分析:根据二叉搜索树的规则一直遍历到空值然后插入即可 

代码:

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {int res;TreeNode flag;public TreeNode insertIntoBST(TreeNode root, int val) {// System.out.println(root==null);res = val;flag = new TreeNode(val);if(root==null) return flag;recursion(root);return root;}public int recursion(TreeNode node){if(node==null)return 1;int blog1 = 0;int blog2 = 0;if(node.val<res)blog1 = recursion(node.right);if(node.val>res)blog2 = recursion(node.left);if(blog1==1)node.right = flag;else if(blog2==1)node.left = flag;return 0;}
}

 

3.删除二叉搜索树中的节点

题目链接:450. 删除二叉搜索树中的节点 - 力扣(LeetCode)

题面:

基本分析:如果遍历到要删除的节点,分情况的讨论,如果左右节点都是空,就返回null,如果左/右有一个为空,就返回右/左,如果左右都不为空,则需要将子树拼接,具体看代码 

代码:

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {int target;public TreeNode deleteNode(TreeNode root, int key) {target = key;if(root==null)return null;return  recursion(root);}public TreeNode recursion(TreeNode node){if(node==null)return null;if(node.val==target){if(node.left==null)return node.right;if(node.right==null)return node.left;TreeNode c = node.left;while(c.right!=null)c = c.right;c.right = node.right;return node.left;}else{if(node.val>target)node.left = recursion(node.left);else node.right = recursion(node.right);}return node;}}

后言

上面是二叉树的部分习题,下一篇会讲解二叉树的其他相关力扣习题,希望有所帮助,一同进步,共勉! 

http://www.hkea.cn/news/662534/

相关文章:

  • 服务器做网站用什么环境好销售营销方案100例
  • 如何做DJ网站英文seo外链
  • 网站统计源码下载百度推广的步骤
  • 本地网站建设seo推广的方法
  • 东莞好的网站建设效果seo和sem分别是什么
  • 最新版wordpress背景手机网络优化软件
  • 丛台企业做网站推广免费建一级域名网站
  • 集宁网站建设免费网站推广网站破解版
  • 网站建设域名的购买有域名和服务器怎么建网站
  • 深圳有什么网站长沙百度seo
  • 台州企业网站模板建站怎么在百度上做公司网页
  • 烟台网站建设联系企汇互联专业网站维护收费标准
  • 网络客户服务平台搜索优化推广公司
  • 建设网站技术方案线上教育培训机构十大排名
  • 沈阳人流seo优化师就业前景
  • 开发区网站制作公司seo关键词有话要多少钱
  • 网站被篡改处理app拉新平台
  • 在线房屋设计网站seo推广平台服务
  • 电子政务门户网站建设代码短链接生成网址
  • 崔各庄地区网站建设百度非企渠道开户
  • 怎么用自己的电脑做网站服务器产品推广平台排行榜
  • 中国做的比较好的电商网站有哪些哈市今日头条最新
  • 微信怎么做网站推广百度网站优化培训
  • 网站开发支持多个币种电子技术培训机构
  • 移动网站设计与制作怎么找关键词
  • 国内移动端网站做的最好的厦门人才网597人才网
  • 建网站收费吗aso关键词覆盖优化
  • 西安的网站设计与制作首页微信视频号怎么推广引流
  • 顺义公司建站多少钱pc端百度
  • wordpress收费资源下载关键词优化的策略