反转一个单链表。
示例:
1 | 输入: 1->2->3->4->5->NULL |
进阶:
你可以迭代或递归地反转链表。你能否用两种方法解决这道题?
方法一:迭代
思路:头插法。
1 | # class ListNode: |
复杂度分析:时间复杂度为O(n),空间复杂度为O(1)。其中,n为链表中结点的个数。
方法二:递归
1 | # class ListNode: |
复杂度分析:时间复杂度为O(n),空间复杂度为O(n)。其中,n为链表中结点的个数。
反转一个单链表。
示例:
1 | 输入: 1->2->3->4->5->NULL |
进阶:
你可以迭代或递归地反转链表。你能否用两种方法解决这道题?
思路:头插法。
1 | # class ListNode: |
复杂度分析:时间复杂度为O(n),空间复杂度为O(1)。其中,n为链表中结点的个数。
1 | # class ListNode: |
复杂度分析:时间复杂度为O(n),空间复杂度为O(n)。其中,n为链表中结点的个数。
微信支付
支付宝