328. Odd Even Linked List

本文分享了一种链表操作技巧——将链表中的奇数位置节点与偶数位置节点分离的方法,并给出了详细的代码实现及解析。通过此方法,读者可以更好地理解链表的数据结构及其操作方式。
题目来源:
 
自我感觉难度/真实难度:
 
题意:
 
分析:

 

 
自己的代码:
class Solution:
    def oddEvenList(self, head: ListNode) -> ListNode:
        if head is None or head.next is None:
            return head
        odd,even,evenHead=ListNode(0),ListNode(0),ListNode(0)
        odd=head
        even=odd.next
        evenHead=even
        while even is  not None and even.next is not None:
            odd.next=even.next
            odd=odd.next
            even.next=odd.next
            even=even.next
        odd.next=evenHead
        return head

 

代码效率/结果:
 
优秀代码:
代码效率/结果:
 
自己优化后的代码:
反思改进策略:

 1.主要问题是,不知道链表是怎么处理的。常常和[ a {  }] 这种存储格式搞混淆。这里注意链表是自己的定义的新的数据结构,只要每次会知道后面的.next表示一条绳子牵住的下一只狗就可以了,这条狗可以给别人牵

 2.写完代码,一定要考虑输入为空的情况

3.每一人只能牵一条狗,注意原来的狗绳会自动断开

写题时间时长:

1h

转载于:https://www.cnblogs.com/captain-dl/p/10662925.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值