两两交换链表中的节点Python解法
生活随笔
收集整理的這篇文章主要介紹了
两两交换链表中的节点Python解法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給你一個鏈表,兩兩交換其中相鄰的節點,并返回交換后鏈表的頭節點。你必須在不修改節點內部的值的情況下完成本題(即,只能進行節點交換)。
示例 1:
解析:創建一個頭指針,然后用鏈表的屬性對頭指針后兩個值進行調換,然后切換頭指針指向。
# Definition for singly-linked list. # class ListNode(object): # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution(object):def swapPairs(self, head):""":type head: ListNode:rtype: ListNode"""res = ListNode(next=head) # 創建頭節點,并且讓頭節點的next指針指向表頭pre = res # 頭指針指向頭節點while pre.next and pre.next.next: # 判斷頭指針后面是否存在兩個值cur = pre.next post = pre.next.nextcur.next = post.next # 切換兩個節點的位置post.next = curpre.next = postpre = pre.next.next # 切換頭指針的位置return res.next總結
以上是生活随笔為你收集整理的两两交换链表中的节点Python解法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 个人所得税怎么查工资明细
- 下一篇: K 个一组翻转链表Python解法