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

专门做win7系统的网站成都企业展厅设计成都企业展厅设计公司

专门做win7系统的网站,成都企业展厅设计成都企业展厅设计公司,广西专业网站建设,免费注册域名和服务器99. 恢复二叉搜索树题意在BST中存在两个元素被交换了#xff0c;现在需要把这两个元素给交换回来变成BST。解题思路将其转为数组#xff0c;并且排好序后重新赋值给树结点#xff1b;使用变量pre来保存访问的前一个结点#xff0c;因为是中序遍历#xff0c;所以前面一个结… 99. 恢复二叉搜索树题意在BST中存在两个元素被交换了现在需要把这两个元素给交换回来变成BST。解题思路将其转为数组并且排好序后重新赋值给树结点使用变量pre来保存访问的前一个结点因为是中序遍历所以前面一个结点必然是小于当前结点的并且用两个变量维护错误的两个结点最后将这两个结点的值进行交换需要注意的是可能存在父结点和子结点交换的情况所以在开始的时候都保存下来实现class Solution(object):    mistake1 None    mistake2 None    pre None    def recoverTree(self, root):               :type root: TreeNode       :rtype: void Do not return anything, modify root in-place instead.              def dfs(node):            if not node:                return                        dfs(node.left)            if self.pre and node.val self.pre.val:                if not self.mistake1:                    self.mistake1 self.pre self.mistake2 node                        self.pre node            dfs(node.right)                dfs(root)        if self.mistake1 and self.mistake2:            self.mistake1.val, self.mistake2.val self.mistake2.val, self.mistake1.val             def recoverTree(self, root):               :type root: TreeNode       :rtype: void Do not return anything, modify root in-place instead.              node_list, val_list [], []        def dfs(node):            if not node:                return                        dfs(node.left)            node_list.append(node)            val_list.append(node.val)            dfs(node.right)                dfs(root)        val_list.sort()        for idx, val in enumerate(val_list):            node_list[idx].val val_list[idx] def recoverTree(self, root):               迭代实现       :type root: TreeNode       :rtype: void Do not return anything, modify root in-place instead.              cur, pre root, None        first, second None, None        stack []                while cur or stack:            if cur:                stack.append(cur)                cur cur.left            else:                        node stack.pop()                if pre and pre.val node.val:                    if not first:                        first pre                    second node                                    pre node                cur node.right                first.val, second.val second.val, first.val 转载于:https://www.cnblogs.com/George1994/p/7507989.html
http://www.sadfv.cn/news/255427/

相关文章:

  • 如何做网站的注册页面泉州地区网站建设公司
  • 响应式网站模板下载软文范例大全800
  • 网站建设费入预付款什么科目设计公司logo要多少钱
  • 选择大连网站建设外贸常用社交网站有哪些
  • 北京网站制作公司哪家好开发电商网站多少钱
  • 阿里巴巴上做网站html代码用什么软件运行
  • 上海工商网站厦门市建设执业资格注册管理中心网站
  • 电子商务论文网站建设商务网站开发开题报告
  • 野外美食网站设计欣赏怎么做企业网站一级悬浮菜单
  • 网站开发技术文档包含网站自建系统
  • 培训网站建设公司哪家好我们便进入了()阶段
  • 江门网站建设方案报价29网站建设全部
  • 电子商务网站建设报价表外贸公司几个网站
  • 郑州高新区建设环保局网站有没有什么需要推广的平台
  • 怎么用自己主机做网站_帮忙做公司网站
  • 网站管理员怎样管理员权限设置四川省成都市建设厅官网
  • 网站备案通讯地址网站建设沟通话术
  • 网站对公司的意义娱乐城网站建设
  • 什么网站可免费发布信息国外设计有名网站
  • 衡阳市建设网站公众号运营外包价格
  • 旅游网站建设的组织性wordpress请求
  • joomla 网站模板建设互联网站是什么
  • 烟台建站价格北京到广州的机票
  • dedecms 网站安全设置可信赖的邢台做网站
  • 网站用户体验优化方案园区 网站建设方案
  • 网站建设的注意事项闵行区教育学院
  • 建设网站能挣钱吗微信网站建设平台
  • 网站建设 慕课常熟高端网站建设
  • 外贸网站建设及推广营销推广怎么做
  • 成寿寺网站建设公司黑龙江骏域建设网站专家