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

有哪个网站可以学做吃的提高工作效率英语

有哪个网站可以学做吃的,提高工作效率英语,查商标官网,wordpress 悬浮音乐235. 二叉搜索树的最近公共祖先 相对于 二叉树的最近公共祖先 本题就简单一些了,因为 可以利用二叉搜索树的特性无需全部遍历。特点:当前节点在p,q节点之前则必为最近公共祖先 class Solution {public TreeNode lowestCommonAncestor(TreeNo…
235. 二叉搜索树的最近公共祖先 

        相对于 二叉树的最近公共祖先 本题就简单一些了,因为 可以利用二叉搜索树的特性无需全部遍历。特点:当前节点在p,q节点之前则必为最近公共祖先

class Solution {public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {if(root == null){return root;}//当前节点大于p,q节点值往当前节点左子树遍历if(root.val > p.val && root.val > q.val){TreeNode left = lowestCommonAncestor(root.left,p,q);if(left != null){return left;}}//当前节点小于p,q节点值往当前节点右子树遍历if(root.val < q.val && root.val < p.val){TreeNode right = lowestCommonAncestor(root.right,p,q);if(right != null){return right;}}//如果当前节点值在两个节点值中间这就是最近公共祖先if(root.val > p.val && root.val < q.val){return root;}return root;}
}

迭代法:

class Solution {public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {while(root != null){//p,q节点都在左if(root.val > p.val && root.val > q.val){root = root.left;//p,q节点都在右}else if(root.val < q.val && root.val < p.val){root = root.right;//当前节点在p,q中间}else{return root;}}return root;}
}

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

思路:只需要在叶子节点上可以找到我们要插入的新节点位置,向上放回新节点给上一个节点进行操作

通过递归函数返回值完成了新加入节点的父子关系赋值操作了,下一层将加入节点返回,本层用root->left或者root->right将其接住

class Solution {public TreeNode insertIntoBST(TreeNode root, int val) {//递归终止条件 递归到叶子节点 创建新节点返回给上一个节点if(root == null){return new TreeNode(val);}//当前节点值大于val 将新节点插入当前节点的左侧if(root.val > val){root.left = insertIntoBST(root.left,val);}if(root.val < val){root.right = insertIntoBST(root.right,val);}return root;}
}

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

        五种情况

        1.没找到删除节点,遍历到空节点直接返回

        2.遍历到删除节点,删除节点左右子树为空,向上返回null

        3.遍历到删除节点,删除节点左子树为空右子树不为空 返回右子树节点

        4.遍历到删除节点,删除节点左子树不为空右子树为空  返回左子树节点

        5.遍历到删除节点,删除节点左右子树都不为空 将删除节点左子树头节点放到删除节点右子树下最左面节点的左孩子上,返回删除节点右孩子为新的根节点

class Solution {public TreeNode deleteNode(TreeNode root, int key) {//终止条件找到删除节点 执行删除节点逻辑 将删除完的操作节点返回给上一个节点//没有找到删除节点if(root == null){return root;}if(root.val == key){if(root.left == null && root.right == null){return null;}else if(root.left != null && root.right == null){return root.left;}else if(root.left == null && root.right != null){return root.right;}else{//先找到删除节点右子树最左侧的值TreeNode cur = root.right;while(cur.left != null){cur = cur.left;}//再将删除节点的左子树连接到curcur.left = root.left;//此处逻辑为 左为空 右不为空逻辑 直接返回右孩子return root.right;  //直接将父节点指向删除节点的右孩子 删除节点}}//单层递归逻辑if(root.val > key){root.left = deleteNode(root.left,key);}if(root.val < key){root.right = deleteNode(root.right,key);}return root;}
}

http://www.hengruixuexiao.com/news/11703.html

相关文章:

  • 最好的网站建设哪家好移动建站模板
  • 注册深圳公司条件关键词优化推广排名多少钱
  • 苏州那家公司做网站好爱站工具seo综合查询
  • 爱游戏app下载官方网站seo图片优化的方法
  • 商会信息平台网站建设方案换友情链接的网站
  • 经销商管理系统软件搜索引擎优化是什么意思
  • 自己做的网站只能打开一个链接免费b站推广网站有哪些
  • 类似凡科建站的网站合肥seo管理
  • 水果网站源码怎样联系百度客服
  • 四川省工程造价信息网官网百度seo不正当竞争秒收
  • 网站建设服务商24小时接单上海seo有哪些公司
  • 日本网站建设十大骗子教育培训机构
  • 企业网站建设 cms南京百度seo排名优化
  • 软件开发专业专科学校seo优化官网
  • 邢台做移动网站公司电话app推广方式有哪些
  • 山东烟台城乡建设学校官方网站国产长尾关键词拘挖掘
  • 类型: 营销型网站建设百度搜索指数的数据来源
  • 深圳服装网站建设seo怎么才能做好
  • 独立网站推广排名搜索推广竞价托管哪家好
  • 做网站公司松江seo指搜索引擎
  • 门户网站建站目标百度云网页版登录入口
  • 哪些网站可以做调查问卷seo 网站推广
  • 网站源代码安装新东方教育培训机构
  • 网站的广度怎么去推广自己的公司
  • 响应式网站建设好么腾讯广告代理商加盟
  • 郑州o2o网站建设汉狮品牌seo培训咨询
  • 企业宽带 做网站搜索网站排名
  • 武汉电商网站开发免费涨1000粉丝网站
  • 石狮做网站宁波网站优化公司价格
  • 制作网站支付方式免费网站推广