队列
文章平均质量分 72
张荣华_csdn
这个作者很懒,什么都没留下…
展开
-
双栈队列
编写一个类,只能用两个栈结构实现队列,支持队列的基本操作(push,pop)。给定一个操作序列ope及它的长度n,其中元素为正数代表push操作,为0代表pop操作,保证操作序列合法且一定含pop操作,请返回pop的结果序列。class TwoStack {public: stack<int> s1; stack<int> s2; vector<in...原创 2018-05-21 10:40:08 · 205 阅读 · 0 评论 -
滑动窗口问题
有一个整型数组 arr 和一个大小为 w 的窗口从数组的最左边滑到最右边,窗口每次向右边滑一个位置。 返回一个长度为n-w+1的数组res,res[i]表示每一种窗口状态下的最大值。 以数组为[4,3,5,4,3,3,6,7],w=3为例。因为第一个窗口[4,3,5]的最大值为5,第二个窗口[3,5,4]的最大值为5,第三个窗口[5,4,3]的最大值为5。第四个窗口[4,3,3]的最大值为4。第五...原创 2018-06-03 00:03:01 · 585 阅读 · 0 评论 -
二叉树的打印
有一棵二叉树,请设计一个算法,按照层次打印这棵二叉树。给定二叉树的根结点root,请返回打印结果,结果按照每一层一个数组进行储存,所有数组的顺序按照层数从上往下,且每一层的数组内元素按照从左往右排列。保证结点数小于等于500。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; ...原创 2018-06-13 01:54:32 · 248 阅读 · 0 评论 -
Binary Tree Level Order Traversal
Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).For example:Given binary tree [3,9,20,null,null,15,7], 3 / \ 9 20 / \...原创 2018-06-22 00:23:48 · 169 阅读 · 0 评论 -
Maximum Depth of Binary Tree
Given a binary tree, find its maximum depth.The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.Note: A leaf is a node with no children.Ex...原创 2018-06-22 00:24:10 · 154 阅读 · 0 评论 -
Binary Tree Level Order Traversal II
Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left to right, level by level from leaf to root).For example:Given binary tree [3,9,20,null,null,15,7], ...原创 2018-06-22 00:24:57 · 239 阅读 · 0 评论 -
用两个栈实现一个队列(C++)
#include "malloc.h"#include "iostream"using namespace std; #define STACKINCREMENT 10#define STACK_INIT_SIZE 10class stack {public : int * base; int * top; int stacksize; bool...原创 2018-07-23 20:31:30 · 1125 阅读 · 0 评论 -
23. 合并K个排序链表
合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[ 1->4->5, 1->3->4, 2->6]输出: 1->1->2->3->4->4->5->6通过堆来实现,每次将链表的首元素的最大值取出,可以利用优先级队列priority_queue来实现。/** ...原创 2018-08-18 12:26:58 · 308 阅读 · 0 评论