题解 | #链表的奇偶重排#
链表的奇偶重排
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
顺丰集团工作强度 431人发布