- 博客(3)
- 收藏
- 关注
翻译 <剑指offer> 从上往下打印二叉树
从上往下打印出二叉树的每个节点,同层节点从左至右打印。 思路:相当于bfs(图中广度优先遍历) 借助队列实现(初始化一个队列) /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL)
2017-04-19 21:07:22 179
翻译 二叉树的下一个结点
题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 思路:已知二叉树的一个结点,求中序遍历的下一个结点:分3种情况: (1)二叉树为空时,返回空; (2)若该结点的右子树存在,则一直遍历右子树的左子树直到叶子结点,叶子结点即为要求的下一个结点 如图 1:黄色结点即为所求结点;
2017-04-18 21:26:43 174
翻译 <剑指offer> 旋转数组的最小数字
题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 思路:1.首先因为是顺序数组,所以可以考虑用 折半查找(二分查找);
2017-04-17 21:29:57 168
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人