9.4-9.5力扣作业

解题思路:

遍历链表,断掉所有节点值等于val的链cur表示当前的节点,pre代表cur的前一个节点
当cur.val == val时,pre.next = cur.next,这样,就跨过了这个节点,此时,cur也要指向cur.next
当cur.val != val时,此时不用删除,则pre=pre.next,cur=cur.next。

 

 

get(index):获取链表中第index个节点的值。如果索引无效,则返回-1。
addAtHead(val):在链表的第一个元素之前添加一个值为val的节点。插入后,新节点将成为链表的第一个节点。
addAtTail(val):将值为val 的节点追加到链表的最后一个元素。
addAtIndex(index,val):在链表中的第index个节点之前添加值为val 的节点。如果index等于链表的长度,则该节点将附加到链表的末尾。如果 index 大于链表长度,则不会插入节点。如果index小于0,则在头部插入节点。
deleteAtIndex(index):如果索引index 有效,则删除链表中的第index 个节点。

 

 

 

首先从链表读出输入的两个加数,接着相加,得到结果,然后将结果转成str,再转成list,然后将列表逆序,最后将逆序结果转成链表。转成list是为了调用列表的reverse函数,转成str是因为int无法直接转成list,需要通过str作为中间媒介。在转成链表设置val的时候,需要将传入的类型从str转成int,因为之前的操作将值的类型转成了str,现在需要转回去。
 

 

首先定义cur为空节点 再定义pre为head头节点,之后进行反转并定义temp为下一个节点(防止下一节点2孤立无法继续循环) 之后继续将cur节点的next为pre   得到pre=cur cur=temp 直到none 变为尾节点 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值