摘要: 题目描述: 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 解题思路: 这道题也是递归的思路,比较简单。 做的过程中遇到的一个问题是return count++这句,实际返回的是count之后再加了。还是直接用count+1返 阅读全文
posted @ 2019-03-26 22:59 Fzu_LJ 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 解题思路: 实际就是二叉树的中序遍历问题。之前在leetcode刷过类似题目。 利用队列完成即可。 代码: 阅读全文
posted @ 2019-03-26 22:20 Fzu_LJ 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 解题思路: 根据二叉搜索的性质,后序遍历是先搜索左子树,再右子数,最后是根结点。对应到序列中就是,序列的最后一位为根结点,从头开始遍历序列中一段连续 阅读全文
posted @ 2019-03-26 22:12 Fzu_LJ 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的 阅读全文
posted @ 2019-03-26 21:38 Fzu_LJ 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 解题思路: 相当与在保留原栈的同时,去维护一个最小栈。利用一个辅助栈来完成。对于每个新输入的数,在压入原栈的同时,需要去判断是否为最小值,若为最小指,则压入辅助栈,否则将当前最小值压入 阅读全文
posted @ 2019-03-26 11:54 Fzu_LJ 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 解题思路: 这道题应该是之前本科是上算法课做过的题目。两种思路。 思路一: 阅读全文
posted @ 2019-03-26 09:33 Fzu_LJ 阅读(189) 评论(0) 推荐(0) 编辑