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

posted @ 2019-04-06 21:15  dgi  阅读(140)  评论(0编辑  收藏  举报