题解 | #链表的奇偶重排#

链表的奇偶重排

https://www.nowcoder.com/practice/02bf49ea45cd486daa031614f9bd6fc3

# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param head ListNode类 
# @return ListNode类
#
# 用计数器表明当前节点的奇偶,并分别用两个链表连接奇偶节点,最后将两个链表连接起来
class Solution:
    def oddEvenList(self , head: ListNode) -> ListNode:
        if head == None or head.next == None:
            return head

        oNode = ListNode(0)
        eNode = ListNode(0)
        oHead = oNode
        eHead = eNode
        i = 0
        while head != None:
            if i % 2 == 1:
                eHead.next = head
                eHead = eHead.next
            else:
                oHead.next = head
                oHead = oHead.next
            i += 1
            head = head.next
        eHead.next = None
        
        oHead.next = eNode.next
        return oNode.next

全部评论

相关推荐

12-27 22:35
门头沟学院 Java
点赞 评论 收藏
分享
11-04 19:05
已编辑
东莞城市学院 单片机
不知道怎么取名字_:你这个要实习两年?哪有这么久的,感觉就是即使你毕业了,但还按实习的话,是不是不用给你缴社保公积金啥的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务