分类
C++ Develop 算法

LeetCode Problem: Maximum Depth of Binary Tree

Recursively count the depth of tree node. One node&#821 […]

分类
C++ Develop 算法

LeetCode Problem: Pascal’s Triangle

The problem is simple, each element in the triangle is […]

分类
C++ Develop 算法

Algorithm Problem: Find Out the Minimum Number that Great or Equal to a Given Number In BST

Given a BST and a Number k, find out the minimum number […]

分类
C++ Develop 算法

LeetCode Problem: Populating Next Right Pointers in Each Node II

The code in the previous article LeetCode Problem: Popu […]

分类
C++ Develop 算法

LeetCode Problem: Populating Next Right Pointers in Each Node, Level traversal of binary tree

It’s easy to doing this by using a queue, doing a […]

分类
C++ Develop 算法

Algorithm Problem:Swap the left and right sub-tree in a binary tree without recursion

Just swap the tree nodes’ left and right child, i […]

分类
C++ Develop 算法

LeetCode Problem:Flatten Binary Tree to Linked List

We can notice that in the flattened tree, each sub node […]

分类
C++ Develop 算法

LeetCode题目:Convert Sorted List to Binary Search Tree

问题比上一个难一点,如果是可以用O(n)空间的话,倒是可以开一个数组放上这n个数,然后按上一个问题的解法去做。 […]

分类
C++ Develop 算法

LeetCode题目:Convert Sorted Array to Binary Search Tree

对排序的数组进行二分查找样式的遍历就行了。 Convert Sorted Array to Binary Se […]

分类
C++ Develop 算法

LeetCode题目:Construct Binary Tree from Inorder and Postorder Traversal

这题和上一道题类似,也是首先在postorder中,最后那一个肯定是整棵树的根,然后在inorder中查找这个 […]

分类
C++ Develop 算法

LeetCode题目:Construct Binary Tree from Preorder and Inorder Traversal

这曾经是一道很难的题目,看来这一阵的锻炼确实是有效果的。 方法是,画一棵树出来,比如: 1 / \ 2 3 \ […]

分类
C++ Develop 算法

LeetCode题目:Binary Tree Zigzag Level Order Traversal

比较简单,广度优先变一下就可以了,用一个bool记录是从左到右还是从右到左,每一层结束就翻转一下。 Binar […]

分类
C++ Develop 算法

LeetCode题目:Binary Tree Maximum Path Sum

这道题好难,因为在一颗二叉树中有多种情况,这条最长的路径有可能是从某个中间节点直接到某个叶子节点的,也有可能是 […]

分类
C++ Develop 算法

LeetCode题目:Binary Tree Level Order Traversal II

和上一题差不多,只不过最后输出的时候颠倒一下,另外:std::list才有push_front(),而std: […]

分类
C++ Develop 算法

LeetCode题目:Binary Tree Level Order Traversal

题目简单,经典方法。只不过这题需要每一个level单独作为一个vector输出,因此在每一个level结束的时 […]

分类
C++ Develop 算法

CCI题目4-1:Check Balance of a Binary Tree,二叉树的基本算法

这里我把题目理解为,任意两个叶子节点(左右子树都空)的深度不超过1. 那就计算一下一棵树的叶子节点中最大的深度 […]

分类
C++ Develop 算法

LeetCode题目:Unique Binary Search Trees II

上一题可以用简单的办法算出了,这道题要输出所有可能的二叉树,就只能一个一个构造了。 写了一个递归的算法,114 […]

分类
C++ Develop 算法

LeetCode题目:Symmetric Tree

从根开始,迭代查看左子树和右子树是否是对称的。 其中左子树和右子树对称的条件(均非空条件下)是: 两个节点值相 […]

分类
C++ Develop 算法

LeetCode题目:Recover Binary Search Tree

分析 题目说在一棵二叉搜索树中有两个节点位置错了,要在常数空间将其改正。 想到的算法就是中序遍历二叉树,找到这 […]

分类
C++ Develop 算法

LeetCode题目:Binary Tree Inorder Traversal

Given a binary tree, return the inorder traversal of it […]