206.反转链表
解题思路
JavaScript解法代码
/**
* Definition for singly-linked list.
* function ListNode(val, next) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
*/
/**
* @param {ListNode} head
* @return {ListNode}
*/
var reverseList = function(head) {
// 只有头节点或头节点为空(边界条件)
if(!head || !head.next) return head;
let current = head,pre=null,temp=null;
while(current){
temp = current.next
current.next = pre
pre = current
current = temp
}
return pre
};
Python解法代码
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution(object):
def reverseList(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""。
current = head
temp = None
pre = None
while(current):
temp = current.next
current.next = pre
pre = current
current = temp
return pre
写了递归,二刷时回来补充。
网友评论