LeetCode
雨雪儿霏霏
lucky lucky boy!
展开
-
LeetCode:Binary Tree Level Order Traversal(递归+非递归实现)
题目 leetcode Binary Tree Level Order Traversal 二叉树的广度优先遍历,不过要输出按层划分的二位数组 递归可以加个深度的参数 非递归的时候需要判断怎么分层,可以加个NULL标记 非递归实现 /** * Definition for a binary tree node. * struct TreeNode { * int ...原创 2018-04-20 14:37:58 · 204 阅读 · 0 评论 -
LeetCode:Minimum Depth of Binary Tree
题目 Minimum Depth of Binary Tree 求所有叶节点中的最小深度,也就是叶节点中离根节点的最小距离 root=NULL 距离为0,只有root 距离为1 可以参考求二叉树深度–>我的另一篇博客 注意一定要是叶节点,比如[1,2]这颗树,因为没有右子树,而root是不算叶节点的,所以最小距离是2,不是1;所以是不能直接求depth然后取左右子树最小值的 C++...原创 2018-04-20 17:00:43 · 142 阅读 · 0 评论 -
LeetCode:Balanced Binary Tree
题目 Balanced Binary Tree 平衡二叉树:左右子树高度相差不超过1 判断是否是平衡二叉树 C++代码 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * ...原创 2018-04-20 17:07:31 · 165 阅读 · 0 评论 -
LeetCode:Friend Circles 查并集
题目描述 547. Friend Circles 解题思路 相当于把所有学生分成几个集合,每个集合里都是有friendship的同学,最后计算集合的个数,所以可以利用查并集去计算。 查Find:每个集合选一个代表元素,新加入的元素将自己的代表改为集合的代表,如果自己一个集合的话,自己可以代表自己。 并Union:对两个元素操作,如果发现两者代表元素一样,则属于同一集合;如果不是,则将其中...原创 2018-05-13 18:42:39 · 498 阅读 · 0 评论 -
LeetCode:Number of Islands DFS递归
题目描述 200. Number of Islands 解题思路 题中的矩阵横纵方向代表的不是岛,而是坐标,所以和LeetCode:Friend Circles 查并集那道题里的矩阵有点区别(当然两道题都是可以查并集,DFS,BFS解决的) dfs的一个思路是:找到一个为‘1’的点,然后找到周围为’1‘的点,dfs可以把这个点所在的“岛”都找到,岛++,并将岛上的所有‘1’都换成‘0’,遍...原创 2018-05-13 19:15:01 · 230 阅读 · 0 评论