如何解决如何有效地删除Java中堆栈的下半部分元素?
如何在Java中设计一种有效的方法来删除堆栈中的下半部元素?例如: 我的堆栈是:(1,2,3,4,5,6)。输出为4,6。另一个输入为(1,6,7,8,9,10,11)的示例。输出为6到11。
解决方法
如果堆栈中有元素数量,则可以弹出前一半然后打印下一半(如果您不想丢失元素,则将其推入另一个堆栈中)
如果堆栈中没有元素数,则需要创建另一个堆栈(例如stack2),从stack1中弹出元素并压入stack2,然后保留元素数。
一旦获得计数,就从stack2中弹出元素并推入stack1中,只打印从stack2中弹出的前一半元素。
,您可以这样做:
int center = stack1.size() / 2;
//Remove the half
int counter = 0;
for(int i=0; counter<center;counter++) {
stack1.remove(i);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。