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

源代码 2024-9-26 15:42:35 50 0 来自 中国
24. 两两交换链表中的节点

标题链接:https://leetcode-cn.com/problems/swap-nodes-in-pairs/
难度:中等
给定一个链表,两两交换此中相邻的节点,并返回交换后的链表。
你不能只是单纯的改叛逆点内部的值,而是须要现实的举行节点交换。
示例:
给定 1->2->3->4, 你应该返回 2->1->4->3.解法一:利用单指针操纵

算法思绪:

(1)创建初始化效果链表result,并创建暂时指针指向result
(2)若head!=null 而且 head.next !=null,则进入循环
(3)创建暂时指针t指向head.next.next
(4)re.next = head.next
(5)re = re.next
(6)re.next = head
(7)re.next.next = t
(8)re = re.next
(9)head = t
(10)本轮循环竣事,继续下一轮循环,从第(2)步开始
(11)循环竣事,re毗连起来的路径,即result链表就是末了的效果链表
图解:

表明: (1)粉色的路径为result链表
            (2)赤色的线条为当前步调举行的改动            (3)蓝色的字体为当前步调的备注            (4)赤色字体为当前步调(1)
1.png (2)

(3)

(4)
(5)
(6)
6.png (7)
代码实现:
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 18:23, Processed in 0.132551 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表