摘要: 题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 利用两个栈,一个栈来正常保存所有元素,另一个栈作为辅助。仅在以下情况使用: push: 当辅助栈为空,或者辅助栈顶元素大于入栈元素时,辅助栈也push(value) pop: 当辅助栈顶 阅读全文
posted @ 2018-12-02 21:04 Ruohua3kou 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 思路: 模拟题,划 阅读全文
posted @ 2018-12-02 16:25 Ruohua3kou 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5 思路:递归 class Solution { public: void Mirr 阅读全文
posted @ 2018-12-02 11:53 Ruohua3kou 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)思路: 递归思想,如果B和此时遍历的节点值相同,则分别检查其左右。直到查到B的叶结点都是相同的,则是子结构。 class Solution { public: bool HasSubtree(Tree 阅读全文
posted @ 2018-12-02 11:16 Ruohua3kou 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。解法一: 非递归解 class Solution { public: ListNode *Merge(ListNode *pHead1, ListNode *pHead2) { if (pHead1 阅读全文
posted @ 2018-12-02 09:30 Ruohua3kou 阅读(115) 评论(0) 推荐(0) 编辑