【发布时间】:2019-04-27 19:59:45
【问题描述】:
我正在准备面试。我曾经每天练习几个面试题。但有时当事情没有引起我的注意时,我会使用互联网作为参考。
现在在这个问题的情况下,
Q 写一个程序来删除堆栈的中间元素而不使用数据结构? 现在我停留在第 38 行,上面写着
char x = st.pop();
这里 char 是如何存储过去的值的,因为没有提到 array 这怎么可能。?
//Java code to delete middle of a stack
package my.project;
import java.io.*;
import java.util.*;
public class GFG {
public static void main(String args[])
{
Stack<Character> st =
new Stack<Character>();
st.push('1');
st.push('2');
st.push('3');
st.push('4');
st.push('5');
st.push('6');
st.push('7');
deleteMid(st, st.size(), 0);
while (!st.empty())
{
char p=st.pop();
System.out.print(p + " ");
}
}
static void deleteMid(Stack<Character> st,int n, int curr)
{
if (st.empty() || curr == n)
return;
char x = st.pop();
deleteMid(st, n, curr+1);
if (curr != n/2)
st.push(x);
}
}
【问题讨论】:
-
感谢您的快速回归!
标签: java arrays data-structures char stack