onewhite【Leetcode】刷题家之24. Swap Nodes in Pairs 中发帖

#请看题 
[图片]
解法
还是链表题,不过从一直刷的简单到中等难度了。有点难理解,不过还是把这个知识点给吃下来了。
首先我们可以看到再给出的两个example中,直接返回了其的值,这是一个小提示。我们可以直接写出一个if来返回head节点。
最简单的一部分我们已经解决了,这时候我们能够过两个test,想要真正的去完成这道题,还是要去学会其中的知识。
有两种解法,分别是递归和迭代。
先来想迭代应该怎么去解决。
迭代
[图片]
在这个example中,可以看到如果一个链表只有三个节点,只会交换第一个和第二个节点,第三个节点无需交换,这意味着什么呢?
意味着如果当前节点的下下个节点如果为空的话,那么就可以不用去处理,这是一个提前结束的条件。
好,解决了其中的一个难点后,接下来是要去想应该怎么去交换节点呢?其实是很简单的,只需要定义几个指针变量指向当前的节点,下个节点和下下...