Tuesday, December 25, 2018

[LeetCode]Reverse Linked List


这道题有递推和循环两个做法。递归的做法很直观,我们递归第reverse当前节点右边的linkedlist,返回的时候把当前节点加到新linkedlist的尾巴即可。时间复杂度O(N),空间复杂度O(N),递归深度。代码如下:


循环的做法就是维护两个指针,每一次翻转两个节点一直到末尾即可。时间复杂度O(N),常数空间。代码如下:


No comments:

Post a Comment