算法
树獭非懒
因上努力,果上随缘
展开
-
使用队列实现树的层次遍历
对于树的层次遍历是基本操作,话不多说,直接进正题… 比如实现下面这个树的层次遍历 实现的结果应该是 [1],[2,3],[4,5,6,7] 实现该算法主要有以下四个步骤 先将树的根结点放入到队列中 计算每层的结点数目 遍历一层的所有结点,把此层的结点的值保存下来,同时把下一层的结点放入队列 最后得到的每一层的结点的值放入到结果集合中 算法核心代码如下 public List<Lis...原创 2018-11-15 16:41:27 · 4884 阅读 · 0 评论 -
每日算法之求完全二叉树的结点个数
参考 LeetCode 222题 题目:求一个完全二叉树的结点总数 解析:要解决这道题,必须要清楚完全二叉树的特点 完全二叉树:除了最后一层,所有层的节点数达成最大,与此同时,最后一层的所有结点都在左侧。 满二叉树:所有层的结点数都达到最大 解法一:递归法 1.计算出左子树和右子树的高度h 2.如果左子树和右子树的高度一样,则它是一棵满二叉树,结点个数就是(2^h)-1个 3.如果高度不一样...原创 2018-12-13 12:42:44 · 1181 阅读 · 0 评论 -
妥妥的去面试之数据结构与算法(一)
笔者由于在找工作,所以近期最主要的任务就是准备面试,不打无准备之仗。只有你准备充分了,那么你想要的机会才有机会入你怀中。 笔者会将准备面试的学习过程记录下来,方便自己复盘的同时也希望能给一道找工作的小伙伴们一些帮助。笔者准备的内容大纲如下 下面是数据结构与算法的正菜部分 一、找出数组中重复的数字 在一个长度为n的数组里的所有数字都在0~n-1的范围内。找出数组中任意一个重复的数字。 注意:如...原创 2019-02-13 21:43:39 · 175 阅读 · 0 评论