代码随想录算法训练营第三天 | 203.移除链表元素、​707. 设计链表、206. 反转链表

 203.移除链表元素

203. 移除链表元素icon-default.png?t=N7T8https://leetcode.cn/problems/remove-linked-list-elements/

解题思路:

双指针的思想, 删除元素一定是用 前置节点去链接当前节点的next节点,

可以的思想有2个,一个是1、设置虚拟节点 

ListNode virtualHead=new ListNode(-1,head);

一个是2、直接模拟,把所有前置节点为val值的情况都排除完

while(head!=null && head.val==val){

head=head.next;

}

后续二者是一样的处理

while(cur!=null){

if(cur.val==val){

pre.next=cur.next;

}else{

pre=cur;

}

cur=cur.next;

}

​707. 设计链表

707. 设计链表icon-default.png?t=N7T8https://leetcode.cn/problems/design-linked-list/

解题思路:

硬写......

206. 反转链表

206. 反转链表icon-default.png?t=N7T8https://leetcode.cn/problems/reverse-linked-list/

1->2->3->4->5

1    <-  2      3->4->5

pre   cur     temp(cur.next)

1<-2<-3     4->5

如此循环

每次都要想一遍咋用三个节点,4个命令循环完的,这次也是...

while(cur!=null){
            temp=cur.next;
            cur.next=pre;
            pre=cur;
            cur=temp;
        }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值