Skip to Content
TopicsLinked List


Reverse Linked List

  • Iterating through the list and reversing the direction of the next pointers of the nodes.
  • After the entire list is reversed, the head pointer is updated to point to the new head of the list, which was the original tail.
/** /** * 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) { let prev = null,curr=head,next=null while(curr!=null){ next = curr.next; curr.next = prev; prev = curr; curr = next; } head = prev; return head; };
Complexity
  • Time: O(n)
  • Space: O(1)


Delete Node in a Linked List

  • Copy the data from the successor node into the current node to be deleted.
  • Update the next pointer of the current node to reference the next pointer of the successor node.
/** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; * } */ /** * @param {ListNode} node * @return {void} Do not return anything, modify node in-place instead. */ var deleteNode = function(node) { node.val=node.next.val; node.next=node.next.next; };
Complexity
  • Time: O(1)
  • Space: O(1)
Last updated on