数组实现栈,过于简单,只写了peek和push方法
package leetcode160;
public class Stack {
int size=0;
Integer [] a;
public Stack(int size) {
if(size<0) {
System.out.println("不对");
return;
}
a=new Integer[size];
}
public Integer peek() {
if(size==0) {
return null;
}
return a[size-1];
}
public void push(int i) {
if(size==a.length) {
System.out.println("出错了");
return;
}
a[size++]=i;
}
}
数组实现对列,两个指针,然后用一个size实现两个指针直接的解耦,而不用去扣边界了,只要size不等于0,就可以取数据,只要size不等于长度就可以加数据,start一直在追赶end,但是追不上,size=len报错
package leetcode160;
public class queue {
private Integer[] arr;
private int size;
private int start;
private int end;
public queue(int initSize) {
if(initSize<0) {
System.out.println("出错了");
return ;
}
arr=new Integer[initSize