24, 两两交换链表中的节点

class Solution:
    def swapPairs(self, head: ListNode) -> ListNode:
        node_list = []
        while head:
            node_list.append(head.val)
            head = head.next
        if len(node_list) == 1:
            return ListNode(node_list[0])
        start_1 = 1
        start_2 = 0
        len_node_list = len(node_list)
        new_list = ListNode(0)
        p = new_list
        while start_1 < len_node_list or start_2 < len_node_list:
            try:
                val = node_list[start_1]
                p.next = ListNode(val)
                p = p.next
                start_1 += 2
                val = node_list[start_2]
                p.next = ListNode(val)
                p = p.next
                start_2 += 2
            except Exception:
                p.next = ListNode(node_list[-1])
                break
        return new_list.next

猜你喜欢

转载自blog.csdn.net/weixin_42758299/article/details/88610011