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

上传网站图片不显示网页设计与制作页面

上传网站图片不显示,网页设计与制作页面,淘宝卖家中心网页版,营销型网站一站式服务目录 一、力扣235.二叉搜索树的最近公共祖先1.1 题目1.2 思路1.3 代码 二、力扣701.二叉搜索树中的插入操作2.1 题目2.2 思路2.3 代码 三、力扣450.删除二叉搜索树中的节点3.1 题目3.2 思路3.3 代码3.4 总结 一、力扣235.二叉搜索树的最近公共祖先 1.1 题目 1.2 思路 利用二叉…

目录

  • 一、力扣235.二叉搜索树的最近公共祖先
    • 1.1 题目
    • 1.2 思路
    • 1.3 代码
  • 二、力扣701.二叉搜索树中的插入操作
    • 2.1 题目
    • 2.2 思路
    • 2.3 代码
  • 三、力扣450.删除二叉搜索树中的节点
    • 3.1 题目
    • 3.2 思路
    • 3.3 代码
    • 3.4 总结

一、力扣235.二叉搜索树的最近公共祖先

1.1 题目

在这里插入图片描述

1.2 思路

利用二叉搜索树的有序特性来实现:
如果cur大于pq:向左搜索;
如果cur小于pq:向右搜索;
如果介于两者之间:则找到!

1.3 代码

递归法:

class Solution {public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {//递归法if(root == null){return null;}return traversal(root,p,q);}public TreeNode traversal(TreeNode root,TreeNode p,TreeNode q){//和上题类似,第二种情况也包含在了处理逻辑里if(root.val < p.val && root.val < q.val){return traversal(root.right,p,q);}if(root.val > p.val && root.val > q.val){return traversal(root.left,p,q);}//当前节点介于[p,q]  闭区间return root;}
}

迭代法:

class Solution {public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {//迭代if(root == null){return null;}TreeNode cur = root;while(true){if(cur.val > p.val && cur.val > q.val){cur = cur.left;continue;}if(cur.val < p.val && cur.val < q.val){cur = cur.right;continue;}return cur;}}
}

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

2.1 题目

在这里插入图片描述

2.2 思路

根据二叉搜索树的特性,比大小向下遍历,直到找到null,将其new一个新的结点插入进去。

2.3 代码

自己的思路:

class Solution {public TreeNode newnode;public TreeNode insertIntoBST(TreeNode root, int val) {//比大小来遍历寻找该插入的位置if(root == null){return new TreeNode(val);}traversal(root,val);return root;}public void traversal(TreeNode root,int val){if(val > root.val){if(root.right == null){newnode = new TreeNode(val);root.right = newnode;return;}traversal(root.right,val);}if(val < root.val){if(root.left == null){newnode = new TreeNode(val);root.left = newnode;return;}traversal(root.left,val);}}
}

三、力扣450.删除二叉搜索树中的节点

3.1 题目

在这里插入图片描述

3.2 思路

梳理本题的五种情况:
(1)没有找到该节点
(2)找到了该节点,该节点的左右孩子均为空
(3)找到了该节点,该节点的左孩子为空,右孩子不为空
(4)找到了该节点,该节点的左孩子不为空,右孩子为空
(5)找到了该节点,该节点的左右孩子均不为空(最关机键的点):见下图

3.3 代码

class Solution {public TreeNode deleteNode(TreeNode root, int key) {//确定递归的终止条件//没有找到该节点if(root == null){return null;}//找到了该节点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{//假设root的右子树上位,那么需要将root的左子树插入root的右子树中,再返回右子树TreeNode cur = root.right;while(cur.left != null){cur = cur.left;}cur.left = root.left;return root.right;}}//单层递归逻辑if(key > root.val){root.right = deleteNode(root.right,key);}if(key < root.val){root.left = deleteNode(root.left,key);}return root;}
}

3.4 总结

(1)五种情况的分析;(递归终止条件)
(2)不用双指针pre,而是将处理后的结点回溯返回给上层节点接住。(单层递归逻辑)

http://www.yayakq.cn/news/630070/

相关文章:

  • 萝岗微网站建设如何制作表白链接
  • 如何做购物网站推广有没有做皮艺的网站
  • 南京自助网站建设功能分类模块类型网站
  • 内蒙古企业网站建设网站 空间 购买
  • 网站域名如何使用wordpress怎么设计网站
  • 免费网站安全软件大全徐州市丰县建设局网站
  • 怎么维护网站淄博网站建设 熊掌号
  • 商城型网站建设建设网站的申请信用卡分期
  • 做k线图网站设计软件图标
  • 域名备案与网站备案的区别网络营销的优势有哪些?
  • 安徽网站建设cnfg苏州园区人才网
  • 电子商务网站预算模板秦皇岛网站制作 微商城建设
  • 网站一定要备案吗十大室内设计师排名
  • 合肥网络公司网站建设哪个网站可以做c语言的题
  • 被黑网站纯静态单页网站
  • 超级简历网站国内新闻最新消息今天简短
  • 做电信网站运营商网站连接数据库失败怎么办
  • 网站建设伍金手指下拉9企业邮箱给我一个
  • 网站显示后台登陆链接海外广告投放平台
  • 网站做直播需要资质吗安阳县人口
  • 买域名网站免费广告推广平台
  • 绍兴网站建设冯炳良中国建筑人力资源管理信息系统
  • 聊城网站推广品牌怎么把网址做成网页链接
  • 中建国际建设公司网站贝斯特专业网站
  • 如何创立网站做新网站的swot分析
  • 安徽省住房和城乡建设厅网站域名特价流量网站
  • 搭建网站注册完域名应该怎么做seo短视频网页入口引流网站推荐
  • 官方网站下载地址开源多用户商城系统细节
  • 成都公司建站模板html5网站模板怎么修改
  • 如何做网站的悬浮窗口在哪里创建网站平台