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

网站设计)免费crm平台

网站设计),免费crm平台,自己怎么做电影网站,上海装修公司投诉排行450删除二叉搜索树节点 删除结点分为2种情况: 1.结点的孩子只有一个或没有,则直接用孩子或空替代 2.结点的孩子有两个,用左孩子替代,将左孩子的右孩子移到结点右子树的最左结点 解法一:递归 class Solution {publ…

450删除二叉搜索树节点

删除结点分为2种情况:

1.结点的孩子只有一个或没有,则直接用孩子或空替代

2.结点的孩子有两个,用左孩子替代,将左孩子的右孩子移到结点右子树的最左结点

解法一:递归

class Solution {public TreeNode deleteNode(TreeNode root, int key) {if (root==null){return root;}if (root.val==key){if (root.left==null){return root.right;}else if (root.right==null){return root.left;}else {TreeNode son = root.left;if (son.right!=null){TreeNode rightnode = son.right;TreeNode temp = root.right;while (temp.left!=null){temp = temp.left;}temp.left = rightnode;}son.right = root.right;return son;}}else if (root.val>key){root.left = deleteNode(root.left, key);}else {root.right = deleteNode(root.right, key);}return root;}
}

解法二:迭代

class Solution {public TreeNode deleteNode(TreeNode root, int key) {if (root==null){return root;}TreeNode father = null;TreeNode node = root;while(node!=null){if (node.val==key){break;}else if (node.val>key){father = node;node = node.left;} else {father = node;node = node.right;}}if (node==null){return root;}TreeNode son = null;if (node.left==null){son = node.right;}else if (node.right==null){son = node.left;}else {son = node.left;if (son.right!=null){TreeNode rightnode = son.right;TreeNode temp = node.right;while (temp.left!=null){temp = temp.left;}temp.left = rightnode;}son.right = node.right;}if (father!=null){if (father.val<node.val){father.right = son;}else {father.left = son;}}else {root = son;}return root;}
}

669修剪二叉搜索树

递归:

如果结点在范围内,则左孩子右孩子进入递归,返回结点

如果结点小于范围,则右孩子进入递归,返回右孩子递归结果

如果结点大于范围,则左孩子进入递归,返回左孩子递归结果

class Solution {public TreeNode trimBST(TreeNode root, int low, int high) {if (root==null){return root;}if (root.val>=low&&root.val<=high){root.left = trimBST(root.left, low, high);root.right = trimBST(root.right, low, high);return root;}else if (root.val<low){return trimBST(root.right, low, high);}else {return trimBST(root.left, low, high);}}
}

108有序数组转换为二叉搜索树

使用递归,找到中间值为此结点值,再将数组分割两半进入递归得到左孩子和右孩子

class Solution {public TreeNode sortedArrayToBST(int[] nums) {if (nums.length==0){return null;}if (nums.length==1){return new TreeNode(nums[0], null, null);}TreeNode node = new TreeNode(nums[nums.length/2], null, null);node.right = sortedArrayToBST(Arrays.copyOfRange(nums, nums.length/2+1, nums.length));node.left = sortedArrayToBST(Arrays.copyOfRange(nums, 0, nums.length/2));return node;}
}

收获

注意二叉搜索树的结点顺序

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

相关文章:

  • 怀柔网站制作公司横沥镇网站仿做
  • 网站怎么更换域名如何组建做网站的团队
  • 总结网站推广策划思路的内容中小型企业查询网址
  • 帝国cms生成网站地图自学前端怎么学
  • 淄博专业网站建设价格小微企业网站建设
  • 网站建设电脑端手机端网页代理proxy
  • 电子商务网站的建设ppticp域名备案查询
  • 网站怎么做第三方登录郑州网站排名优化公司
  • 网站项目策划书内容模板组建一个公司网络方案
  • 一下成都网站建设公司软件开发培训机构去哪个学校
  • 网页设计与网站开发方向网站搭建费用价格表
  • 外贸网站建设哪家强标准网站建设的价格
  • asp网站防注入网站开发待遇好吗
  • 做网站需要流程wordpress能做出
  • html网站怎么做视频教程邯郸网站建设费用
  • 酒泉建设局网站网站建站平台 开源
  • 阿里巴巴可以做公司网站吗wordpress洛米主题
  • 关于我们 网站兰州网站建设哪里好
  • 老榕树建站软件揭阳网站推广教程
  • 四川省乐山市建设银行网站南宁关键词自然排名
  • 大连推广网站搭建哪家好wordpress菜单导航
  • 学校网站制作公司大连建设工程信息网查询
  • 网页制作与网站开发模板网页兼容性站点
  • 电商平台网站建设多少钱谢晶晶的赣州没有网页制作
  • html旅游网站模板如何做高校的网站版面设计
  • 对电子政务做技术支持的网站网站的建设模式
  • 想学做网站要去哪里学头像制作logo免费生成器在线
  • 可视化的做网站的app园林景观网站源码
  • wordpress layer怀柔网站整站优化公司
  • 站长工具域名解析抖音代运营有效果吗