问题可以挑挑1。 if (hasNullHead){
head=new Obj();
}
hasNullHead->head不为null,我想我怎么看了半天好晕呢?
2。while (!s.equals(null)){
这个未免比较强,还不如直接写true呢不过总之来说问题不在于你代码写怎样,而是能不能体现一个思路,关键是自圆其说~~。。
head=new Obj();
}
hasNullHead->head不为null,我想我怎么看了半天好晕呢?
2。while (!s.equals(null)){
这个未免比较强,还不如直接写true呢不过总之来说问题不在于你代码写怎样,而是能不能体现一个思路,关键是自圆其说~~。。
直接s!=null
就行了
觉得写个双向链表的栈有点变态啊。
if (hasNullHead){
head=new Obj();
}
我是记得数据结构中有,把链表分为不带表头,带空表头。所以如果要求带空表头,就创建一个对象(其data为空。那么这个栈的head就是这个对象的引用。当然head.next是栈顶对象的引用了.如果不带空表头,那head直接指向栈顶了。(在java里来说就是栈顶对象的一个引用)。
其实这个如果用c++写的话,应该要简单一些。不过当时要求让我用java写。没办法
if (hasNullHead&&head.next==null||
!hasNullHead&&head==null){
return null;
}
Obj s=head;
while (!s.equals(null)){
if (s.data.equals(o)){
return s;
}else{
s=s.next;
}
}
return null;
}
这样改就不会出现异常了。。