【Leet-Code】24. 兩兩交換鏈表中的節點

 

【解題思路】

記錄奇偶位置,交換奇偶值即可。

 

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def swapPairs(self, head: ListNode) -> ListNode:

        result = ListNode(0)
        r = result

        cnt = 0
        tmp_val = "None"

        while head:
            cnt += 1
            
            if cnt %2 != 1:
                result.next = ListNode(head.val)
                result = result.next

                result.next = ListNode(tmp_val)
                result = result.next

                tmp_val = "None"
                
            else:
                tmp_val = head.val

            head = head.next

        if tmp_val != "None":
            result.next = ListNode(tmp_val)
            result = result.next 
            
        return r.next

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章