Java习题中 移除链表元素 & 设计链表 & 反转链表中的哪些坑?

关于 移除链表元素
  • 要把哪个元素排除出链表  只需要使得没有指向它的指针  如果cur指向2那么只能更改2的next指针  对删除它本身没有作用
  • 注意点:指针问题, 大家今天写删除链表题的时候经常少了else判断, 链表首要想好指针是怎么移动的,是否会移动会访问null即可
  • 大家遇到问题的时候对于链表问题可以多用笔画画图,这样会加深你对指针和节点实体的理解,代码的鲁棒性如何通常可以利用边界case尝试,今天很多人都是因为空指针的错误其实大多是一些if,while中不小心取到了空和循环次数和条件有关这种可以设计简单case比如1-2-3-null这种手动画图走一遍自己的代码就解决了。
  • 是否要添加虚拟头结点
    虚拟头结点的主要目的是为了避免对头结点的特殊处理;这个处理就指的是修改操作。所以可以这样:涉及到对链表修改(如插入,删除,移动)的,都加个dummy,只是遍历取点就可以不用加
  • 大家空针异常优先在节点前debug判断一下是否为null来定位!
  • 关于递归来做这道题 可以看看这边博客的思维三道题套路解决递归问题 | lyl's blog
关于 设计链表
  • 设计链表因为调用了很多函数,一旦出错可能不知道调试从何下手,因此建议把代码放到本地IDE上,一个一个函数去测试看出错在什么地方
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

念君思宁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值