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

体育器材网站模板学it需要什么学历

体育器材网站模板,学it需要什么学历,电商类网站咋做,网站模块下载二叉树part08 235.二叉搜索树的最近公共祖先 701.二叉搜索树中的插入操作 450.删除二叉搜索树中的节点 235. 二叉搜索树的最近公共祖先 方法一#xff1a;递归法#xff08;利用二叉搜索树性质#xff09; class Solution { public:TreeNode* lowestCommonAncestor(TreeN…二叉树part08 235.二叉搜索树的最近公共祖先 701.二叉搜索树中的插入操作 450.删除二叉搜索树中的节点 235. 二叉搜索树的最近公共祖先 方法一递归法利用二叉搜索树性质 class Solution { public:TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {if(rootnullptr) return root;if(root-val p-val root-val q-val) //左{TreeNode* left lowestCommonAncestor(root-left,p,q);return left;}if(root-val p-val root-val q-val) //右{TreeNode* right lowestCommonAncestor(root-right,p,q);return right;}return root;} };方法二迭代法利用二叉搜索树性质 class Solution { public:TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {while(root){if(root-val p-val root-val q-val) root root-left;else if(root-val p-val root-val q-val) root root-right;else return root;}return root;} };701. 二叉搜索树中的插入操作 方法一递归找叶子节点 class Solution { public:TreeNode* insertIntoBST(TreeNode* root, int val) {if(rootnullptr) {TreeNode* root new TreeNode(val);return root; //找到叶节点传给上一层递归}if(val root-val) root-left insertIntoBST(root-left,val); //向左遍历接收叶子节点的数值else root-right insertIntoBST(root-right,val);return root;} };方法二递归找叶子节点但通过全局变量记录parent位置 class Solution { public:TreeNode* parent; //插入位置的父节点void traversal(TreeNode* cur, int val){if(curnullptr) {if(parent-valval) parent-left new TreeNode(val);else parent-right new TreeNode(val);return;}parent cur; //进入上一层前提前保存叶子结点的父节点if(cur-valval) traversal(cur-left,val);else traversal(cur-right,val);return;}TreeNode* insertIntoBST(TreeNode* root, int val) {if(rootnullptr) { //根节点为null的特殊处理root new TreeNode(val);return root;}traversal(root, val);return root;} };方法三迭代法 class Solution { public:TreeNode* insertIntoBST(TreeNode* root, int val) {if (root NULL) { //处理root为零特殊情况TreeNode* node new TreeNode(val);return node;}TreeNode* cur root;TreeNode* parent; // 这个很重要需要记录上一个节点否则无法赋值新节点while (cur ! NULL) {parent cur;if (cur-val val) cur cur-left;else cur cur-right;}//找到parent位置了接下来对parent的值和val对比确定放在左节点还是右节点TreeNode* node new TreeNode(val);if (val parent-val) parent-left node;// 此时是用parent节点的进行赋值else parent-right node;return root;} };450. 删除二叉搜索树中的节点 有以下五种情况 第一种情况没找到删除的节点遍历到空节点直接返回了找到删除的节点 第二种情况左右孩子都为空叶子节点直接删除节点 返回NULL为根节点第三种情况删除节点的左孩子为空右孩子不为空删除节点右孩子补位返回右孩子为根节点第四种情况删除节点的右孩子为空左孩子不为空删除节点左孩子补位返回左孩子为根节点第五种情况左右孩子节点都不为空则将删除节点的左子树头结点左孩子放到删除节点的右子树的最左面节点的左孩子上返回删除节点右孩子为新的根节点。 第五种情况有点难以理解看下面动画 动画中的二叉搜索树中删除元素7 那么删除节点元素7的左孩子就是5删除节点元素7的右子树的最左面节点是元素8。 将删除节点元素7的左孩子放到删除节点元素7的右子树的最左面节点元素8的左孩子上就是把5为根节点的子树移到了8的左孩子的位置。 要删除的节点元素7的右孩子元素9为新的根节点。. 这样就完成删除元素7的逻辑最好动手画一个图尝试删除一个节点试试。 class Solution { public:TreeNode* deleteNode(TreeNode* root, int key) {if (root nullptr) return root; // 第一种情况没找到删除的节点遍历到空节点直接返回了if (root-val key) {// 第二种情况左右孩子都为空叶子节点直接删除节点 返回NULL为根节点if (root-left nullptr root-right nullptr) {///! 内存释放delete root;return nullptr;}// 第三种情况其左孩子为空右孩子不为空删除节点右孩子补位 返回右孩子为根节点else if (root-left nullptr) {auto retNode root-right;///! 内存释放delete root;return retNode;}// 第四种情况其右孩子为空左孩子不为空删除节点左孩子补位返回左孩子为根节点else if (root-right nullptr) {auto retNode root-left;///! 内存释放delete root;return retNode;}// 第五种情况左右孩子节点都不为空则将删除节点的左子树放到删除节点的右子树的最左面节点的左孩子的位置// 并返回删除节点右孩子为新的根节点。else {TreeNode* cur root-right; // 找右子树最左面的节点while(cur-left ! nullptr) {cur cur-left;}cur-left root-left; // 把要删除的节点root左子树放在cur的左孩子的位置TreeNode* tmp root; // 把root节点保存一下下面来删除root root-right; // 返回旧root的右孩子作为新rootdelete tmp; // 释放节点内存这里不写也可以但C最好手动释放一下吧return root;}}if (root-val key) root-left deleteNode(root-left, key);if (root-val key) root-right deleteNode(root-right, key);return root;} };
http://www.pierceye.com/news/187483/

相关文章:

  • 好享购物官方网站购物网页制作与网站开发从入门到精通
  • 坪山网站建设哪家便宜系部网站建设研究方案
  • 如何备份网站上海的招聘网站有哪些
  • 企业门户网站建设流程蝶恋花直播app下载安装
  • 株洲网站建设推广报价seo基础知识培训视频
  • 漳州网站建设选博大不错php网站开发经理招聘
  • 分类网站建设黄陌陌网站怎么做
  • 做网站大概多钱互联网广告投放
  • 信通网站开发中心qq说说赞在线自助下单网站
  • 搭建网站步骤做电影网站需要什么条件
  • 您网站建设动漫设计与制作 学校
  • 利用模板如何制作网站泰安整站优化
  • 网站开发与网站建设网站上的聊天框怎么做的
  • 任务网站(做任务学技能的)开发公司宣传册
  • 织梦搭建商城网站高端网站建设深圳
  • 做网站排名优化的公司无需下载直接登录qq手机版
  • 网站不备案不能访问吗wordpress主题开发404页面
  • 工作总结个人总结自动app优化下载
  • 网站开发推荐书籍比较大的外贸网站
  • 上饶建设网站郑州网
  • 做淘宝客网站一定要备案吗没有网站域名备案
  • 用QQ群做网站排名慈溪网站制作哪家最好
  • 兴宁市网站建设手工艺品网站建设策划书
  • flash做网站导航网站品牌建设流程
  • 公司建设网站属于什么费用网站打模块
  • 网站建设应注意的问题网站备案验证码错误
  • 网站核验点网站自己怎么做的
  • 购物网站建设平台canvas可画网页版
  • 企业信息平台系统网站推广优化建设
  • 免费网站模板制作自助建站上建的网站免费吗