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

做流量的网站上海网络推广公司网站

做流量的网站,上海网络推广公司网站,一起做网店网站,郑州市多商家网站制作公司恢复二叉搜索树 难度:中等 题目描述 给你二叉搜索树的根节点 root ,该树中的 恰好 两个节点的值被错误地交换。请在不改变其结构的情况下,恢复这棵树 。 示例1 输入: root [1,3,null,null,2] 输出:[3,1,null,nul…

恢复二叉搜索树

难度:中等

题目描述

给你二叉搜索树的根节点 root ,该树中的 恰好 两个节点的值被错误地交换。请在不改变其结构的情况下,恢复这棵树

示例1

输入: root = [1,3,null,null,2]
输出:[3,1,null,null,2]

示例2

输入: root = [3,1,4,null,null,2]
输出:[2,1,4,null,null,3]

题解

因为二叉搜索树的性质可得,将其中序遍历存储到列表中,数值为单调递增,由此可以得到以下步骤

  • 遍历列表,找到递增中断点
  • 再次遍历列表,找到中断点应该在的位置
  • 将两个数值进行交换

完成之后即为所求

想法代码

public class TreeNode
{public int val;public TreeNode left;public TreeNode right;public TreeNode(int val = 0, TreeNode left = null, TreeNode right = null){this.val = val;this.left = left;this.right = right;}
}
class Solution
{IList<TreeNode> travelList = new List<TreeNode>();public static void Main(String[] args){TreeNode root = new TreeNode(3){left = new TreeNode(1),right = new TreeNode(4){left = new TreeNode(2)}};Solution solution = new Solution();solution.RecoverTree(root);foreach (var a in solution.travelList){Console.Write(a.val + " ");}}public void RecoverTree(TreeNode root){Travel(root);int index1 = 1;int index2 = 0;while (index1 < travelList.Count){if (travelList[index1].val > travelList[index1 - 1].val){index1++;}else{break;}}while (index2 < travelList.Count){if (travelList[index2].val > travelList[index1 - 1].val){break;}index2++;}TreeNode treeNode1 = travelList[index1 - 1];TreeNode treeNode2 = travelList[index2 - 1];int val1 = treeNode1.val;int val2 = treeNode2.val;treeNode1.val = val2;treeNode2.val = val1;}public void Travel(TreeNode root){if (root == null){return;}Travel(root.left);travelList.Add(root);Travel(root.right);}
}
avel(root.left);travelList.Add(root);Travel(root.right);}
}
http://www.skylitedrivein.com/news/748.html

相关文章:

  • 沽源网站建设企业域名查询
  • 网站设计实施网络营销推广软件
  • 哪些人可以做网站营销网络怎么写
  • WordPress科技网站my63777免费域名查询
  • 南充营销型网站建设微信管理系统平台
  • 在国内怎么做国外网站seo内容优化
  • 网站设计建设做网站优化的公司
  • 网站制作公司承担百度seo查询系统
  • 成都市建设路小学网站app推广活动策划方案
  • 网站成功案例设计网站页面分析
  • lamp环境做网站某网站seo诊断分析和优化方案
  • 阿里云做网站需要环境竞价账户托管的公司有哪些
  • 做网站的知名公司seo收费还是免费
  • 西安网站建设电话咨询seo刷词工具在线
  • 织梦dedecms导航网站源码企业查询信息平台
  • 网站建设网站管理友链交换
  • vs2013做简单的网站搜索引擎推广和优化方案
  • 最新的网站建设软件如何自己做引流推广
  • 如何做网站优化佛山优化网站关键词
  • 左侧伸缩隐藏菜单时尚flash网站商丘网络推广哪家好
  • 多合一建网站发稿网
  • 做网站做seo整站优化外包公司
  • 给公司建立网站吗seo搜索引擎优化是做什么的
  • 合肥哪里做网站it培训机构排行榜
  • 网站建设属于前端还是后台app推广公司怎么对接业务
  • 桂林旅游网站建设seo点击排名工具有用吗
  • 酒店网站建设流程疫情最新情况 最新消息 全国
  • 济南企业网站建设公司重庆seo入门教程
  • 淘宝客手机网站开发腾讯3大外包公司
  • 网站制作公司加盟seo入门培训学多久