剑指offer
强强爱学习
这个作者很懒,什么都没留下…
展开
-
剑指offer 08 两个栈实现队列
题目描述解题思路栈:后进先出,每次只能弹出栈顶元素。队列:先进先出。每次只能弹出队首元素。思路:引进辅助栈。主栈A存储元素,每次添加新元素的时候,直接压入A。当需要弹出元素的时候,辅助栈B就派上了用场。为了实现队列,实习上我们需要弹出栈底的元素,可行的办法是每次需要弹出的时候,将A的元素逐渐压入B中,当A中位空的时候,B的栈顶就是带弹出的元素。将B的栈顶元素弹出之后,在逐个压入A中即可...原创 2020-04-28 23:00:04 · 122 阅读 · 0 评论 -
剑指offer 07
题目描述解题思路前序遍历:先访问根节点,再访问左子树,再访问右子树。后序遍历:先访问左子树,再访问右子树,再访问根节点。中序遍历:先访问左子树,再访问根节点,再访问右子树。规律1)前序遍历序列的第一个节点是根2)后序遍历序列的最后一个节点是根3)中序遍历中,根左边的是左子树部分,跟右边的右子树部分4)前序(后序)遍历决定层次,中序遍历决定顺序。思路设计到树的问题,首先考虑...原创 2020-04-28 22:53:28 · 167 阅读 · 0 评论 -
剑指offer04
题目描述解题思路该矩阵的特点是左上角的元素最小,右下角的元素最大。左下角的元素是同一行中最小的,也是同一列中最大的。我们开始从左下角开始查找,如果目标值比数组元素大,就到右边去寻找,如果目标值比数组元素小,就到上边去寻找。类似的,我们也可以从右上角开始查找。代码class Solution {public: bool findNumberIn2DArray(vector&...原创 2020-04-28 22:41:29 · 191 阅读 · 0 评论