题目描述
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。
你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
示例:
输入:head = [1,2,3,4,5,6] 输出:[2,1,4,3,6,5]
思路
解决这道题目,有两种普遍解法,一种是递归解法,另一种是非递归解法,递归解法代码更简洁,但效率不如非递归解法。但两种解法核心思路都是一样,都是根据题意改变指针的指向,一般画画图很快就能想出来。
解法
C++递归版本
C++非递归版本
Java非递归版本
Python3非递归版本