反转后一半,然后判断,不过这样子会改变输入的数据,感觉不太好。也可以用一个栈,但是那样的话空间复杂度就不符合标准了。/** * Definition for singly-linked list. * public class ListNode { * int val; * List...
分类:
其他好文 时间:
2015-11-29 10:43:00
阅读次数:
171
# 解题思路: # 创建一个字典映射关系 dicts# 使用一个栈stk 遍历字符串s 得到一个新的字符串curItem 如果lastItem在dicts中的value和它相等 不做任何操作# 如果不等 入栈 有lastItem的 先append lastItem 然后是curItem ## 最后判...
分类:
编程语言 时间:
2015-11-22 00:17:55
阅读次数:
174
1.什么是jvm? (1)jvm是一种用于计算设备的规范,它是一个虚构出来的机器,是通过在实际的计算机上仿真模拟各种功能实现的。 (2)jvm包含一套字节码指令集,一组寄存器,一个栈,一个垃圾回收堆和一个存储方法域。 (3)JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚...
分类:
其他好文 时间:
2015-11-19 11:06:28
阅读次数:
117
1.实现一个栈,要求实现push,pop,Min(返回最小值的操作)的时间复杂度为O(1)算法思想:需要设计一个辅助栈,用来存储当前栈中元素的最小值。额外需要注意push操作,第一个元素不用比较,自动成为最小值入栈,其他元素每次都要和栈顶元素进行比较,小的入栈。#include<i..
分类:
编程语言 时间:
2015-11-11 06:38:25
阅读次数:
254
MinStakc.cpp#include<iostream>
usingnamespacestd;
#include<stack>
template<classT>
classStack{
public:
voidPush(constT&x){//入栈
_stack.push(x);
if(_minstack.empty())
_minstack.push(x);
else{
_minstack.push((_minstack.top()>x)?x:_mi..
分类:
编程语言 时间:
2015-11-10 16:25:56
阅读次数:
419
面试的时候,栈和队列经常会成对出现来考察。本文包含栈和队列的如下考试内容:(1)栈的创建(2)队列的创建(3)两个栈实现一个队列(4)两个队列实现一个栈(5)设计含最小函数min()的栈,要求min、push、pop、的时间复杂度都是O(1)(6)判断栈的push和pop序列是否一致1、栈的创建:我...
分类:
编程语言 时间:
2015-11-05 10:33:39
阅读次数:
243
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。队列嘛,先进先出,栈嘛,先进后出。 于是乎,把第一个栈扔满,然后再一一放到另一个栈中,然后再一一取出来。 没了- -public class reconstructionQueue { Stack st...
分类:
其他好文 时间:
2015-11-04 17:34:43
阅读次数:
153
题意: 用栈来实现队列。思路: 一个栈是不够的,至少要两个。 (1)插入。永远只插入到stack1中(插到栈顶)。 (2)弹出。如果stack2不为空,直接弹出stack2的栈顶,否则,将stack1中的所有元素转移到stack2中,栈顶自然就是队头了,再弹出。 (3)返回队头。与(2)一...
分类:
其他好文 时间:
2015-11-01 15:10:41
阅读次数:
167
1. 面试的时候,栈和队列经常会成对出现来考察。本文包含栈和队列的如下考试内容:(1)栈的创建(2)队列的创建(3)两个栈实现一个队列(4)两个队列实现一个栈(5)设计含最小函数min()的栈,要求min、push、pop、的时间复杂度都是O(1)(6)判断栈的push和pop序列是否一致2. 具体...
分类:
编程语言 时间:
2015-10-23 18:06:40
阅读次数:
266
1.用到类的时候,类加载到方法区,同时方法区会存放static的内容(包括静态方法和静态变量),随类的加载而加载2当new的时候,会在堆中创建一个对象,在其中会开辟其中的实例变量内存并初始化,堆中变量默认会被初始化0 null3当方法运行时,进行压栈push操作,不同方法产生一个栈帧,先进后出原则,...
分类:
编程语言 时间:
2015-10-13 18:46:56
阅读次数:
149