树
燚涯
这个作者很懒,什么都没留下…
展开
-
平衡二叉树的判断
平衡二叉树:每个结点的左右子树的高度最多差1 编程思路: (1)编写功能子函数用于判断某个结点的深度 (2)比较父亲结点两个子结点的深度差struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; }; int depth(struct TreeNode* r原创 2015-06-29 17:01:57 · 321 阅读 · 0 评论 -
满二叉树的镜像
编程思想:交换父亲结点的两个儿子结点 struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; }; struct TreeNode* invertTree(struct TreeNode* root) { if (root == NULL)原创 2015-06-29 15:41:07 · 372 阅读 · 0 评论 -
求一棵二叉树的最大深度
struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; }; int maxDepth(struct TreeNode* root) { if (root == NULL) return 0; else {原创 2015-06-29 22:12:02 · 368 阅读 · 0 评论 -
判断一棵二叉树的镜像是否为其自己
struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; }; bool mirror(struct TreeNode* root1, struct TreeNode* root2) { if (root1 == NULL && root2 == N原创 2015-06-29 21:15:17 · 372 阅读 · 0 评论 -
求一棵二叉树的最小深度
深度:根节点到叶子结点的距离 最小深度分为以下三种情况: (1)该结点没有儿子结点 (2)该结点有一个儿子结点 (3)该结点有两个儿子结点 struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; }; int minDepth(struct Tr原创 2015-06-29 22:10:17 · 441 阅读 · 0 评论 -
求一个二叉搜索树中第K个最小值
假设该颗二叉搜索树的总元素数大于等于K解题思路:用STL容器的栈来实现int kthSmallest(TreeNode* root, int k) { std::stack<TreeNode*> Stack; while (root || !Stack.empty()) { if (root) { Stack.push原创 2015-07-14 22:51:16 · 986 阅读 · 0 评论