Java面试题:如何用java代码写一个堆栈

转载 2017年12月07日 21:42:58

原文引用自http://www.jobui.com/mianshiti/it/java/7882/点击打开链接


public class Stack {

int[] data;
int maxSize;
int top;
public Stack(int maxSize) {
this.maxSize = maxSize;
data = new int[maxSize];
top = -1;
}

/**
* 依次加入数据
* @param data 要加入的数据
* @return 添加是否成功
*/
public boolean push(int data) {
if(top+1== maxSize) {
System.out.println(“栈已满!”);
return false;
}
this.data[++top] = data;
return true;
}

/**
* 从栈中取出数据
* @return 取出的数据
*/
public int pop() throws Exception{
if(top==-1) {
throw new Exception(“栈已空!”);
}
return this.data[top--];
}

public static void main(String[] args) throws Exception {
Stack stack=new Stack(1000);
stack.push(1);
stack.push(2);
stack.push(3);
stack.push(4);
stack.push(5);
while(stack.top>=0)
{
System.out.println(stack.pop());
}
}
}

剑指Offer 面试题15:二进制中1的个数 Java代码实现

剑指Offer 面试题15:二进制中1的个数 题目:实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如,9的二进制是1001,有两位是1,那么输入9,函数输出2。 看完题目我就想到了J...

剑指offer面试题11 数值的整数次方的Java代码实现

数值的整数次方的Java代码实现 剑指offer这本书不错。以下是我对这道题的Java代码实现 /** * 剑指offer中面试题11:数值的整数次方double power(double b...

剑指Offer 面试题24:反转链表 Java代码实现

题目:定义一函数,输入链表的头结点,反转该链表并输出反转后的链表头结点。 因为在反转一个节点时,需要把该节点的指针域指向其前一节点,这样就无法访问其后续节点。所以,需要有三个指针分别指向当前节点...

拉勾网ThoughtWorks面试题java代码

今天看了一道题感觉很有意思就动手写了一下,对于一个新手来说,很有练习意义,我就把题目和代码发出来大家参考一下,希望能提提意见你是一名体育老师,在某次课距离下课还有五分钟时,你决定搞一个游戏。此时有10...
  • cui136
  • cui136
  • 2015年11月20日 21:14
  • 442

剑指Offer 面试题19:正则表达式匹配 Java代码实现

题目:正则表达式匹配 请实现一个函数用来匹配包含'.'和'*'的正则表达式。字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次) 主要思想就是字符的第...

剑指Offer 面试题17:打印从1到最大的n位数 Java代码实现

题目:输入数字n,按顺序打印从1到最大的n位的十进制数。比如,输入3,则打印出1、2、3一直到999。 这个题目好像很简单,求出最大的n位数,然后for循环打印就好了。但是Java中int类型的范...

剑指Offer 面试题18:删除链表节点 Java代码实现

题目:在O(1)时间内删除链表节点。 给定单向链表头指针和一个节点指针,定义一个函数在O(1)时间内删除该节点。 这儿采用有头结点的单链表结构,头结点的存在是为了方便操作,针对单链表来说,如果带头...

剑指Offer 面试题23:链表中环的入口节点 Java代码实现

题目描述 一个链表中包含环,请找出该链表的环的入口结点。 这题又用到了一快一慢两个指针的方法,快指针一次走两步慢指针一次走一步。可以证明,若存在环路,则这两个指针一定会在环路中某个地方相遇。这也是检...

剑指Offer 面试题22:链表中倒数第k个节点 Java代码实现

题目 输入一个链表,输出该链表中倒数第k个结点。 这个问题可以用两个链表指针来实现,这个方法在单向链表的问题中经常使用。具体而言,就是一快一慢两个指针,快指针先走(k-1)步,然后两个指针同时走,当...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java面试题:如何用java代码写一个堆栈
举报原因:
原因补充:

(最多只允许输入30个字)