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

网站建设所出现的问题关键词搜索工具好站网

网站建设所出现的问题,关键词搜索工具好站网,电脑怎么做网站,哪个网站做香烟回收文章目录二叉搜索树的最近公共祖先二叉搜索树中的插入操作删除二叉搜索树中的节点二叉搜索树的最近公共祖先 235. 二叉搜索树的最近公共祖先 - 力扣(LeetCode) 因为二叉搜索树是有序的,第一次找到p和q中间的值,就是最近的公共祖先…

文章目录

    • 二叉搜索树的最近公共祖先
    • 二叉搜索树中的插入操作
    • 删除二叉搜索树中的节点

二叉搜索树的最近公共祖先

  • 235. 二叉搜索树的最近公共祖先 - 力扣(LeetCode)

    因为二叉搜索树是有序的,第一次找到p和q中间的值,就是最近的公共祖先。

    235.二叉搜索树的最近公共祖先2

    class Solution {public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {if(p.val > q.val){return traverse(root , q , p);}else{return traverse(root , p , q);}}TreeNode traverse(TreeNode root , TreeNode p , TreeNode q){if(root == null) return null;if(root.val >= p.val && root.val <= q.val){return root;}TreeNode left = traverse(root.left , p , q);TreeNode right = traverse(root.right , p , q);return left == null ? right : left;}
    }
    

二叉搜索树中的插入操作

  • 701. 二叉搜索树中的插入操作 - 力扣(LeetCode)

    本题只需要找到空的节点进行插入即可。

    1. 通过函数的返回值,进行插入操作。

      class Solution {public TreeNode insertIntoBST(TreeNode root, int val) {if(root == null){TreeNode node = new TreeNode(val);return node;}if(root.val > val) root.left = insertIntoBST(root.left , val);if(root.val < val) root.right = insertIntoBST(root.right , val);return root;}
      }
      
    2. 通过保存父节点的值,进行插入操作。

      class Solution {TreeNode parent;public TreeNode insertIntoBST(TreeNode root, int val) {if(root == null) return new TreeNode(val);traverse(root , val);return root;}void traverse(TreeNode root , int val){if(root == null){TreeNode node = new TreeNode(val);if(parent.val > val){parent.left = node;}else{parent.right = node;}return ;}parent = root;if(root.val > val) traverse(root.left , val);if(root.val < val) traverse(root.right , val);}
      }
      

删除二叉搜索树中的节点

  • 450. 删除二叉搜索树中的节点 - 力扣(LeetCode)
    二叉搜索树的删除涉及到五个方面,尤其要注意,当删除的节点左右都有子节点时,要将左子节点放到右子节点的最左边。这才符合二叉搜索树的原则。

    class Solution {public TreeNode deleteNode(TreeNode root, int key) {//说明删除的节点不在二叉树内,直接返回null。if(root == null) return root;//root为当前要删除的节点if(root.val == key){//2:如果左右孩子都为空,直接返回nullif(root.left == null && root.right == null){return null;}//3:删除节点的左孩子为空,右孩子不为空else if(root.left == null){//返回右孩子的根节点补位。return root.right;}//4:删除节点的左孩子不为空,右孩子为空。else if(root.right == null){return root.left;}//5:左右都不为空else if(root.left != null && root.right != null){//找到左孩子节点TreeNode left = root.left;//将左孩子节点放在删除节点的右子树最左面的左孩子上。TreeNode right_left = root.right;while(right_left.left != null){right_left = right_left.left; }right_left.left = left;return root.right;}}if(root.val > key) root.left  = deleteNode(root.left , key);if(root.val < key) root.right = deleteNode(root.right , key);//说明不是我要找的节点,返回rootreturn root;}
    }
    
http://www.tj-hxxt.cn/news/76368.html

相关文章:

  • 聊城网站建设哪家便宜wordpress seo教程
  • 三只松鼠网站怎样做凡科建站客服电话
  • 网站建设的客户需求调查与分析酒店如何进行网络营销
  • 网站开发必备技能包头整站优化
  • wordpress分享QQ插件品牌seo培训咨询
  • 如何自己设计创建一个网站网站手机优化
  • 青岛seo全网营销seo的英文全称是什么
  • 英语培训学校网站建设多少钱合肥网站建设
  • 新疆兵团建设局的网站营销网络是什么意思
  • 做网站需要那些编程语言网络营销推广活动
  • 做算命网站挣钱吗百度seo优化是做什么的
  • 海珠做网站重庆seo小潘大神
  • 罗湖住房和建设局网站官网自媒体是如何赚钱的
  • 接单子做网站品牌营销策划与管理
  • 店铺外卖网站怎么做今天的新闻内容
  • 有哪些学校的网站做的好处关键词挖掘工具爱网
  • 昆明双鼎网站制作百度手机助手网页
  • 网站建设找什么公司好百度关键词优化的意思
  • 音乐 版权 做视频网站网络推广都有哪些平台
  • 网站专题制作原则如何用google搜索产品关键词
  • 深圳比较大的贸易进口公司seo引擎优化是什么
  • 域名怎么绑定网站西安seo关键字优化
  • 怎样做恶搞网站如何建立网页
  • 可以做同城活动的网站国产免费crm系统有哪些
  • wordpress 图片特效插件下载seo技术培训课程
  • 在网站做商城平台需要哪些资质win7优化大师官方免费下载
  • 网页系统seo长沙
  • 网站导航条专门做页面跳转网络广告名词解释
  • 又拍云 wordpress使用江门百度seo公司
  • 做网站时,404网页如何指向站长素材网站