给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? ## 迭代 class Solution: def inorderTraversal(self, root: TreeNod ...
分类:
其他好文 时间:
2020-07-19 11:38:09
阅读次数:
55
工欲善其事,必先利其器 ubuntu下minishift 和oc (openshift command) 命令行补全 ubuntu默认使用bash,并且已经启用了命令补全功能 前提 minishift在ubuntu上能正常工作,oc命令加入path 1.使用root用户 sudo su cd ~ 2 ...
分类:
其他好文 时间:
2020-07-19 11:37:27
阅读次数:
91
[编程题] lc:236. 二叉树的最近公共祖先 题目描述 输入输出例子 思路 使用后续遍历的思想,根据找到了左和右的情况,进行相应的返回结果。 Java代码 /** * Definition for a binary tree node. * public class TreeNode { * i ...
分类:
其他好文 时间:
2020-07-19 00:39:06
阅读次数:
85
在一个无序数组中,存在一个数,它出现的次数大于数组长度的一半。输出这个数 一、排序、遍历 二、摩尔投票法 摩尔投票算法是一种使用线性时间和常数空间查找大部分元素序列的算法。 最简单的形式就是,查找输入中重复出现超过一半以上(必须大于n/2,等于不算)的元素。如果序列中没有这种元素,算法不能检测到正确 ...
分类:
其他好文 时间:
2020-07-18 22:36:05
阅读次数:
120
1,个人理解前缀、中缀、后缀表达式应该对应着树的前序遍历、中序遍历和后序遍历。 2,中缀表达式更方便人类理解,后缀表达式因为其堆栈结构更方便计算机理解,这就像计算机组成原理中的补码和源码一样,补码更方便计算机计算,源码更方便人类看懂,也可以用二进制和十进制对比,为什么计算机整个框架建立在二进制的基础 ...
分类:
其他好文 时间:
2020-07-18 22:04:50
阅读次数:
83
中序。 刚拿到题目时,第一想法是递归,但是搞错了二叉搜索树成立的条件。 我以为的条件是:左侧树为二叉搜索树,右侧树为二叉搜索树,且root.right>root>root.left,然后递归。 但是显然这不对,满足以上条件后,root.right.left可能比root要小。 先说正确的递归解法:正 ...
分类:
其他好文 时间:
2020-07-18 22:03:27
阅读次数:
71
题解:层次遍历的基础上加个计数器,偶数层得到的结果反转一下 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeN ...
分类:
其他好文 时间:
2020-07-18 21:52:24
阅读次数:
59
解题:利用队列先进先出来实现层次遍历 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) ...
分类:
其他好文 时间:
2020-07-18 19:52:44
阅读次数:
68
基本思路分析: 首先选择第一个数作为基数,因为只有一个数,所以他就是一个有序的数组嘛。 然后遍历他后面的数,如果比他小,插入到他前面,如果比他大,就插入到他后面。此时就有两个数已经成为有序的了; 在遍历下一个数,找到他该插入的位置,即该位置的后一个数比改数大,前一个数比该数小。 5 1 4 2 3 ...
分类:
编程语言 时间:
2020-07-18 16:04:40
阅读次数:
42
1、数组 采用单个变量只能存储一个数据,数组能够存储多个数据,获取方式也比较简单。它是将一组数据存储在当个变量下的存储方式。 2、数组的创建 (1)new方式创建,不指定数组长度 <script> var arr=new Array(); arr[0]=123; arr[1]=true; arr[2 ...
分类:
编程语言 时间:
2020-07-18 13:40:20
阅读次数:
59