public static Node deleteall(Node front,String target){
if (front == null){ return null;}
if (front.data.equals(target)){
return deleteall(front.next,target);
}
front.next=deleteall(front.next,target);
return front;
}
我正试图通过这个解决方案,但这让我感到困惑.为什么它不总是以null结果,因为在结尾前面将等于null.
最佳答案
在考虑这些问题时,最好先拿笔和纸画一些东西并在高层次上思考
例如
……………
输入
列表:[3] – [2] – [5] – 空
目标:2
…………….
第一次通话=>结果
deleteall(N [3],2)=> [3]
但接下来是deleteall(N [2],2)
List = [3] -deleteall(N [2],2)
第二个电话
deleteall(N [2],2)=> deleteall(N [5],2)
下一个节点现在跳过2
List = [3] -deleteall(N [5],2)
第三次电话
deleteall(N [5],2)=> [5]
但接下来是deleteall(null,2)
List = [3] – [5] -deleteall(null,2)
Lat调用返回null
列表最终清理没有2s
List = [3] – [5] -null
原文地址:https://www.jb51.cc/java/437476.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。