摘要:
题目描述 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 解题思路 这题是二叉树的层序遍历,每层打印一行,每次需要记录下一次打印的个数,其余和层序遍历相同。 实现 阅读全文
摘要:
题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 解题思路 这题的思路和二叉树的层序遍历类似,每次遍历将当前遍历结点左右子结点加入到队列,只是每次需要调整打印的顺序。 实现 Java / 树结点 阅读全文
摘要:
题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 解题思路 从根结点开始判断,首先判断左右子树是否相同,然后对于相同的结点,判断两个结点的左子树和另一个结点的右子树是否相同,相同说明是对称的。否则就是不对称的,依次向下递归。 实 阅读全文
摘要:
题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 解题思路 我们知道二叉树的中序遍历是先遍历左子树,然后遍历根结点,最后遍历右子树。根据题意,我们需要找到当前节点的下一个需要遍历的结点,首先判断该结点是否 阅读全文
摘要:
题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1 2 3 3 4 4 5 处理后为 1 2 5 解题思路 利用一个指针指向当前需要检查的结点p的前一个指针pre,对于当前要检查的结点p,对后面的结点进行遍历,直到找到与之不同的结 阅读全文