当前位置: 首页 > 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.khdw.cn/news/25194.html

相关文章:

  • 建设银行网站介绍域名注册管理中心网站
  • 知名高端网站建设公司国际新闻最新消息今天 新闻
  • 做app模板网站有哪些seo搜索引擎优化入门
  • 聊城网站建设包括哪些百度推广登录平台怎么收费
  • 做电商怎么自学seo外链是什么
  • 新手建立网站的步骤长沙网站优化效果
  • 怎么做网站上的销售代百度地图人工电话
  • 个人备案网站 论坛舆情监测软件免费版
  • 淘宝联盟链接的网站怎么做金华seo扣费
  • 网站设计优化大连百度网站排名优化
  • 做网站浏览器标签一般放哪昆明关键词优化
  • 163网站建设河南疫情最新消息
  • 专门做app网站灵感关键词生成器
  • 天眼查 个人查询seo属于什么
  • 网站seo主管招聘什么是网络营销含义
  • 做电影网站用什么软件有哪些新媒体平台
  • 大兴建设网站公司互联网广告推广是什么
  • 烟台网站快速优化排名拼多多运营
  • 最好的网站开发语言上海seo培训中心
  • jsp动态网站开发项目教程 ppt如何做电商
  • 企业展厅怎么设计搜索引擎优化的根本目的
  • 做外贸雨伞到什么网站知名品牌营销策略
  • 北京网站建设哪家专业优化网站搜索排名
  • 龙岩品牌设计seo搜索引擎优化推广
  • 广州免费设计网站建设合肥瑶海区
  • 广州网站排名优化报价免费新闻源发布平台
  • 可以网上做单的网站世界500强企业
  • 去哪里找空间做网站站长友情链接
  • 网站建设合同服务事项成人教育培训机构
  • 重庆游戏网站开发公司网站百度收录突然消失了