![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
也想一个人去旅行
后来,我想,我应该留下些什么,来证明我曾来过。
展开
-
剑指offer_9_用两个栈实现队列
题目分析创建两个栈,stack1和stack2,stack1作为主栈,stack2作为副栈,每次appendTail时,直接入栈stack1即可,deleteHead时,先判断stack1是否为空,然后将多余的元素弹出到stack2中,再弹出stack1的栈底元素,然后再将stack2中的元素弹回到stack1中,这就完成了deleteHead操作。代码class CQueue { ...原创 2020-03-09 11:33:49 · 61 阅读 · 0 评论 -
剑指offer_07_重建二叉树
题目分析这是根据前序和中序遍历的结果来重建二叉树,前序:根左右。中序:左根右。那么显然前序遍历结果中的第一个元素就是二叉树的根。然后在中序遍历中找到该结点的位置,位置左边的即为左子树,右边的即为右子树,进行递归即可得到结果。代码/** * Definition for a binary tree node. * public class TreeNode { * int ...原创 2020-03-09 10:58:04 · 108 阅读 · 0 评论 -
剑指offer_06_从尾到头打印链表
题目分析可以先遍历一次链表,将节点的值依次存入到栈中,然后创建数组,将栈中的数据依次出栈,借助于栈这种数据结构,就可以实现。代码/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) {...原创 2020-03-09 10:30:06 · 192 阅读 · 0 评论