15、数据结构与算法-实战:队列习题二
题目:设计一个逆置队列元素的算法。 /** * 队列逆置类 * @param <AnyType> 逆置的类型 */ public class QueueReversal<AnyType> { /** * 构造方法 *...
题目:设计一个逆置队列元素的算法。 /** * 队列逆置类 * @param <AnyType> 逆置的类型 */ public class QueueReversal<AnyType> { /** * 构造方法 *...
题目:如何使用两个栈实现队列 思路:假设用来实现队列的两个栈分别为stack1和stack2,保证两个栈总有一个为空 入队算法: 如果stack2不为空,先将stack2中的元素弹出并压入stack1; 将元素压入stack1 出队算法: ...
公众号:“皇子谈技术”主理人
定义:队列是一种只能在一端插入(队尾),在另一端删除(队首)的有序线性表。 队列的第一个插入的元素也是第一个被删除的元素。所以,队列是一种先进先出(FIFO,First In First Out)或后进后出(LILO,Last In Las...
题目: 一个对于一个单行的逆波兰表达式,由如下元素构成: 数字:十进制数字字符构成的正整数,比如 223 运算符:支持三种运算符^+和*,分别代表自增,加法和乘法 分隔符:一个或者多个空格 例如下面的字符串就是个逆波兰表达式 2 3 4 *...
题目:判定字符串中开闭分隔符是否匹配 思路: 1.分解字符串成字符数组,并创建一个栈 2.如果读取的字符不是开闭分隔符,直接忽略 如果读取的字符是开分隔符则压栈 如果读取的字符是闭分隔符,且栈不为空,栈顶元素出栈,否则提示匹配错误 3.如果...
题目:回文字符串判断,就是一个字符串,从左到右读和从右到左读是完全一样的 例如:abcdedcba就是回文 /** * 字符串回文判断 * @param str 需要判断的字符串 * @return true 是回文 false 不是回文 ...
栈(stack)是一个有序线性表,只能在表的一端(成为栈顶,top)执行插入和删除操作。最后插入的元素是第一个被删除的。所以栈也称为后进先出(Last In First Out,LIFO)或先进后出(First In Last Out,FI...
题目:逐对的逆置链表;假设初始链表为1->2->3->4->X,逐对逆置后2->1->4->3->X 思路:使用递归、迭代分别实现 /** * 递归实现逐对的逆置链表 * @param hea...
题目1:假设两个单向链表在某结点相交后,成为一个新的单向链表。两个链表的头结点是已知的,但是相交的结点未知。也就是说,它们相交之前的结点个数是未知的,并且两个链表的结点数也可能不同。假设链表List1和链表List2在相交之前的结点个数分别...
题目1:向有序链表中插入一个结点 思路:遍历链表,找到存放元素的正确结点位置后,插入结点 /** * 向有序链表中插入一个结点 * @param headNode 有序链表的头结点 * @param newNode 需要插入的结点 * @r...