import java.util.Stack;/** * 判断一个链表是否是回文结构 */public class IsPalindrome { /** * 将整个链表放入栈中,依次弹出并和原链表比较,相当于直接把链表反转然后比较,若完全相同则为回文结构 * * @param head 链表头结点 ...
分类:
其他好文 时间:
2020-05-06 21:27:16
阅读次数:
58
1. 利用栈:后进先出 将链表从头到尾压入栈中,再从栈中pop出来,对链表从头到尾赋值。 1 /* 2 struct ListNode { 3 int val; 4 struct ListNode *next; 5 ListNode(int x) : 6 val(x), next(NULL) { 7 ...
分类:
其他好文 时间:
2020-05-05 19:42:08
阅读次数:
52
栈帧是用于支持虚拟机进行方法调用和方法执行背后的数据结构。栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址信息。 局部变量表 是一组变量值的存储空间,用于存放方法参数和方法内部定义的局部变量。 局部变量表的容量以变量槽(Variable Slot)为最小单位。 操作数栈 操作数栈,也称操 ...
分类:
其他好文 时间:
2020-05-05 10:51:59
阅读次数:
68
题目: 解答: 如果是括号的左半边,直接入栈即可; 如果是括号的右半边,需要与栈最上面的括号匹配,匹配失败直接返回false; for循环遍历结束后,判断栈是否为空,为空则表示所有的括号都已经匹配成功了。 1 class Solution { 2 public: 3 bool isValid(str ...
分类:
其他好文 时间:
2020-05-03 18:14:52
阅读次数:
49
栈 栈(Stack)是一个后进先出(LIFO)的数据结构,直接上图 简单来说栈只有两种操作,出栈和入栈,直接来看一下java.util.Stack里面的实现。 Stack继承自Vector一个线程安全的容器(动态数组) 入栈操作,调用了Vector的addElement函数,向动态数组末尾添加一个元 ...
分类:
其他好文 时间:
2020-05-02 21:17:06
阅读次数:
81
栈 思路: 由于括号一般是成对出现,可以利用栈后进先出的特征。将字符串字符按顺序压入栈中,压入过程中如果遇到右括号时,推出栈顶元素,判断当前要压入的右括号是否和栈顶元素是一对,如果是则继续下一字符的压入判断操作。如果不是,直接返回False。当压入过程结束后,如果栈内为空则返回True,否则返回Fa ...
分类:
其他好文 时间:
2020-05-02 13:25:39
阅读次数:
64
int指令 int指令也可以引发内中断。 int指令的格式是: 其中n为中断类型码。 相当于执行以下步骤: 1、取到中断类型码n 2、标志寄存器入栈,IF=0,TF=0 3、CS、IP入栈 4、根据中断向量表修改CS和IP:(IP)=(n 4),(CS)=(n\ 4+2) 可见int指令的最终功能就 ...
分类:
其他好文 时间:
2020-04-30 23:20:07
阅读次数:
65
寄存器 一个CPU由以下几个部分组成: 1、运算器:负责信息处理 2、寄存器:进行信息储存 3、控制器:控制各种器件进行工作 4、内部总线:连接各种器件(外部总线实现CPU和主板其他部件的联系) 通用寄存器 8086CPU的所有寄存器都是16位的,可以存放两个字节,AX、BX、CX、DX这4个寄存器 ...
分类:
其他好文 时间:
2020-04-30 23:10:32
阅读次数:
76
深入理解Java枚举 ~~重新认识Java枚举~~ 老实说,挺羞愧的,这么久了,一直不知道Java枚举的本质是啥,虽然也在用,但是真不知道它的底层是个啥样的 直到2020年4月28日的晚上20点左右,我才真的揭开了Java枚举的面纱,看到了它的真面目,但是我哭了 这篇文章不是深入理解枚举,而是认识枚 ...
分类:
编程语言 时间:
2020-04-29 23:23:52
阅读次数:
68
题意描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。 输入描述 输入 : push= {1,2,3,4,5} pop = {4,5,3,2,1} 输出:true 输入 : push = {1,2,3,4,5} pop = { ...
分类:
其他好文 时间:
2020-04-29 14:43:13
阅读次数:
50