二叉树
null_kk
学习记录 反思 debug
展开
-
LeetCode练习题94、144、590、589
94. 二叉树的中序遍历 给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 二叉树的中序遍历 递归 #define MAXSIZE 1000 void inorder(struct TreeNode *root, int *returnSize, int *a) { if(!root) {return ;} inorder(root->left, returnSize, a); a[(*returnSiz原创 2020-06-08 22:03:05 · 143 阅读 · 0 评论 -
LeetCode练习题226、98
226. 翻转二叉树 翻转一棵二叉树。 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 6 3 1 翻转二叉树 struct TreeNode* invertTree(struct TreeNode* root){ if(root == NULL) { return NULL; } //终止条件 struct原创 2020-06-25 19:47:34 · 121 阅读 · 0 评论 -
LeetCode练习题104、111
104. 二叉树的最大深度 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最大深度 3 。 二叉树的最大深度 递归 int maxDepth(struct TreeNode* root){ if(root == NULL) { return 0原创 2020-06-27 20:22:42 · 107 阅读 · 0 评论 -
LeetCode练习题236、938
236. 二叉树的最近公共祖先 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4] 3 / \ 5 1 / \ / \ 6 2 0原创 2020-06-29 20:44:20 · 142 阅读 · 0 评论