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

链表的奇偶重排

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

解题思路

  • 遍历链表,转换为数组;
  • 利用数组的性质获取到奇数位和偶数位的元素;
  • 先创建奇数位的链表,再创建偶数位的链表,合起来。

  • 时间复杂度和空间复杂度都为O(N)。

class Solution:
    def oddEvenList(self , head: ListNode) -> ListNode:
        # write code here
        p = head
        a = []

        while p:
            a.append(p.val)
            p = p.next

        b = a[::2]
        c = a[1::2]
        newL = ListNode(-1)
        res = newL
        for i in b:
            newL.next = ListNode(i)
            newL = newL.next
        
        for i in c:
            newL.next = ListNode(i)
            newL = newL.next
        
        newL.next = None
        return res.next

全部评论

相关推荐

头顶尖尖的程序员:我也是面了三四次才放平心态的。准备好自我介绍,不一定要背熟,可以记事本写下来读。全程控制语速,所有问题都先思考几秒,不要急着答,不要打断面试官说话。
点赞 评论 收藏
分享
当初高考报计算机真是造大孽了啊!卷的飞起!哪都是计算机的人,考研,考公,找工作全他奶的计算机的人,太难了。国企也是。关键一届比一届卷,造大孽了!
_Lyrics_:因为计算机,没有体验到快乐的大学研究生时光,好不容易修完课程就要出去实习,看着别人专业可以一起搓麻将,游山玩水,而我却要自己一个人住在北上不到十平米的出租屋,每天两点一线
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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