- 博客(3)
- 收藏
- 关注
原创 剑指offer:两个堆栈实现队列
题目: 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 基本思路:两个堆栈s1,s2,用s1来作为输入,s2作为输出,那么入栈s1便是入队列,出队列则考虑: 1)当s2为空时,出队列需要将s1的所有数压入s2,再弹出s2的栈顶元素; 2)当s2不为空时,直接弹出s2的栈顶元素即可 代码如下: class Solution { public:
2017-03-23 15:55:33 180
原创 剑指offer:从尾到头打印链表
题目: 输入一个链表,从尾到头打印链表每个节点的值。 链表基础:链表的存取必须从头指针开始,链表的最后一个节点的指针为空(NULL) 思路分析:把链表的值存入一个vector,然后直接利用vector.reverse翻转 /** * struct ListNode { * int val; * struct ListNode *next; *
2017-03-23 10:55:12 110
原创 剑指offer:重建二叉树
题目: 输入某二叉树的前序遍历和中序遍历,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含有重复的数字。 例如,前序遍历序列:{1,2,3,7,3,5,6,8},中序遍历序列:{4,7,2,1,5,3,8,6} 二叉树遍历基本知识: 前序遍历:访问根节点,前序遍历左子树,前序遍历右子树中序遍历:中序遍历左子树,访问根节点,中序遍历右子树后序遍历:后序遍历左子树,后序
2017-03-23 10:19:03 171
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人