摘要: 题目:输入一棵二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。从根节点开始往下一直到叶节点所经过的节点形成一条路径。 解题思路:当使用前序遍历的方式访问某一节点时,把该节点添加到路径上,并累积该节点的数值。如果该节点为叶节点,并且路径中节点的值等于输入的整数,则找到符合条件的路径。如 阅读全文
posted @ 2017-07-30 17:09 知其然,后知其所以然 阅读(421) 评论(0) 推荐(0) 编辑
摘要: 题目:从上往下打印出二叉树的每个节点,同一层的结点按照从左往右的顺序打印。 解题思路:二叉树的层序遍历,在打印一个节点的时候,要把他的子节点保存起来打印第一层要把第二层的节点保存起来, 打印第二层要把第三层的结点保存起来,以此类推。可以使用的容器是队列,每一次打印一个结点的时候,如果该结点有子结点, 阅读全文
posted @ 2017-07-30 15:52 知其然,后知其所以然 阅读(650) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是返回true,否则返回false。 假设输入的数组任意两个数字都不相同 解题思路:二叉搜索树的特点是根节点的左子树的值小于等于根节点的值,右子树的结点的值大于等于根节点的值。 在二叉树的后序遍历序列中,最后一个数字是树的根节 阅读全文
posted @ 2017-07-30 15:49 知其然,后知其所以然 阅读(479) 评论(0) 推荐(0) 编辑
摘要: 二叉树的遍历方式: 1、深度优先:递归,非递归实现方式 1)先序遍历:先访问根节点,再依次访问左子树和右子树 2)中序遍历:先访问左子树,再访问根节点吗,最后访问右子树 3)后序遍历:先访问左子树,再访问右子树,最后访问根节点 2、广度优先 按照树的深度,一层一层的访问树的节点 阅读全文
posted @ 2017-07-30 15:19 知其然,后知其所以然 阅读(11772) 评论(0) 推荐(1) 编辑
摘要: 题目:输入两个递增排序的链表,合并这两个链表并使新链表中的节点人是按照递增排序的。解题思路:两个链表分别都已经是有序的了,遍历链表的时候只要比较两个链表当前位置大小,取出最小的添加到新链表中。 可以有递归、循环两种方式来解决。 阅读全文
posted @ 2017-07-30 11:30 知其然,后知其所以然 阅读(1076) 评论(0) 推荐(0) 编辑