摘要: 题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 注意可能有 阅读全文
posted @ 2017-11-22 22:36 zqlucky 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路:一个栈只负责压入元素,另一个栈在不为空的情况下弹栈,为空的时候先将Stack1全部压栈,再弹出结果。 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路:一个 阅读全文
posted @ 2017-11-22 22:25 zqlucky 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二 阅读全文
posted @ 2017-11-22 22:17 zqlucky 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一个链表,从尾到头打印链表每个节点的值。 思路:反过来的方法使用stack就可以,或者使用递归方法实现。 链表指向下一个使用next指针,不要直接使用++pointer的操作。因为链表不一定是连续存储的。 1.stack /** * struct ListNode { * int va 阅读全文
posted @ 2017-11-22 21:22 zqlucky 阅读(148) 评论(0) 推荐(0) 编辑