网站在百度搜不到,东莞市公共资源交易中心官网,电子网站设计,网站网站开发需要多少钱题目#xff1a; 给定一个单链表 L 的头节点 head #xff0c;单链表 L 表示为#xff1a; L0 → L1 → … → Ln - 1 → Ln请将其重新排列后变为#xff1a; L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → … 不能只是单纯的改变节点内部的值#xff0c;而是需要实际的进… 题目 给定一个单链表 L 的头节点 head 单链表 L 表示为 L0 → L1 → … → Ln - 1 → Ln请将其重新排列后变为 L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → … 不能只是单纯的改变节点内部的值而是需要实际的进行节点交换。 来源力扣LeetCode 链接力扣LeetCode官网 - 全球极客挚爱的技术成长平台 示例 示例 1 输入head [1,2,3,4] 输出[1,4,2,3] 示例 2 输入head [1,2,3,4,5] 输出[1,5,2,4,3] 解法 链表转列表依次从尾从头弹出结点连接到headhead最后指向空。 代码 # Definition for singly-linked list.
# class ListNode:
# def __init__(self, val0, nextNone):
# self.val val
# self.next next
class Solution:def reorderList(self, head: Optional[ListNode]) - None:Do not return anything, modify head in-place instead.nodes []point head.nextwhile point:nodes.append(point)point point.nextindex 0while nodes:if index % 2 0:head.next nodes.pop()else:head.next nodes.pop(0)head head.nextindex 1head.next None