题目描述:
反转一个单链表。
示例:
1
2
3 > 输入: 1->2->3->4->5->NULL
> 输出: 5->4->3->2->1->NULL
>
进阶:
你可以迭代或递归地反转链表。你能否用两种方法解决这道题?
解题思路一:
非递归
时间复杂度:$O(n)$, 空间复杂度:$O(1)$.
1 | /** |
解题思路二:
递归
时间复杂度:$O(n)$, 空间复杂度:$O(1)$.
1 | /** |
吃饱好减肥
反转一个单链表。
示例:
1
2
3 > 输入: 1->2->3->4->5->NULL
> 输出: 5->4->3->2->1->NULL
>
进阶:
你可以迭代或递归地反转链表。你能否用两种方法解决这道题?
非递归
时间复杂度:$O(n)$, 空间复杂度:$O(1)$.
1 | /** |
递归
时间复杂度:$O(n)$, 空间复杂度:$O(1)$.
1 | /** |