题目描述 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 示例: 输入: 4->2->1->3 输出: 1->2->3->4 题目链接: https://leetcode-cn.com/problems/sort-list/ 思路1 使用两个栈来做,类似于栈排序的方法。代 ...
分类:
编程语言 时间:
2020-07-13 21:56:15
阅读次数:
71
【题目描述】 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示例 1: 输入:["CQueue","appendTail" ...
分类:
其他好文 时间:
2020-07-11 16:54:48
阅读次数:
51
非递归 思路1 用两个栈实现后序遍历的步骤: 申请一个栈stack1,将头节点压入栈中 将stack1中元素弹出,记为temp,依次将temp的左孩子,右孩子压入stack1(如果有的话 每个从stack1中弹出的元素都压入stack2 4.不断重复步骤2,3直到stack1为空停止 5.从stac ...
分类:
其他好文 时间:
2020-07-04 22:33:18
阅读次数:
64
剑指 Offer 09. 用两个栈实现队列 思路 把数据在两个栈中分别“折腾”一次,出来的顺序就是队列的顺序。 向stack1中push数据——向队列中添加数据 从stack2中弹出数据——从队列中删除头部数据 代码 import java.util.Stack; class CQueue { St ...
分类:
其他好文 时间:
2020-07-01 23:43:18
阅读次数:
54
用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示例: 输入: ["CQueue","appendTail","delete ...
分类:
其他好文 时间:
2020-07-01 22:17:02
阅读次数:
57
剑指 Offer 09. 用两个栈实现队列 题目来源:力扣(LeetCode)https://leetcode-cn.com/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof 题目 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appen ...
分类:
编程语言 时间:
2020-06-30 20:25:53
阅读次数:
64
原题链接 题解 题目的大意就是利用两个栈来模拟队列的插入和删除,最容易想到的就是声明两个栈a, b,a这个栈用来做插入,b用来做删除作用。 当我们数据插入到栈中的,栈中的数据顺序是和删除的顺序相反的,①这就可以利用b这个栈了,将a中的数据弹出,依次压入b中,那么b中就是删除的顺序了。 ②当我们删除的 ...
分类:
其他好文 时间:
2020-06-30 13:16:30
阅读次数:
60
题目: 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示例 1: 输入:["CQueue","appendTail","d ...
分类:
编程语言 时间:
2020-06-27 16:00:11
阅读次数:
68
1.要点 使用java的同学请注意,如果你使用Stack的方式来做这道题,会造成速度较慢; 原因的话是Stack继承了Vector接口,而Vector底层是一个Object[]数组,那么就要考虑空间扩容和移位的问题了。 可以使用LinkedList来做Stack的容器,因为LinkedList实现了... ...
分类:
其他好文 时间:
2020-06-26 12:59:54
阅读次数:
64
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof 问题 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead , ...
分类:
其他好文 时间:
2020-06-20 22:21:10
阅读次数:
70