File tree Expand file tree Collapse file tree 1 file changed +10
-5
lines changed
19-remove-nth-node-from-end-of-list Expand file tree Collapse file tree 1 file changed +10
-5
lines changed Original file line number Diff line number Diff line change @@ -12,11 +12,12 @@ typedef struct ListNode node;
1212class Solution {
1313public:
1414 ListNode* removeNthFromEnd (ListNode* head, int n) {
15- node* dummy = new node (0 );
16- dummy->next = head;
15+ node* dummy = new node (0 );// create a tangible dummy node before head node -
16+ // helps in handle LL edge cases
17+ // dummy -> head -> ..... -> NULL
18+ dummy->next = head;
1719
18- node* right = head;
19- node* left = head;
20+ node* right = head, *left = head;
2021 node* prev = dummy;
2122
2223 // [-------------------------------]
@@ -32,6 +33,7 @@ class Solution {
3233
3334 while (right != NULL ) {
3435 // right traverses (L-n) steps
36+ // along with it, head also traverses L-n steps
3537 right = right->next ;
3638 prev = left;
3739 left = left->next ;
@@ -41,4 +43,7 @@ class Solution {
4143
4244 return dummy->next ;
4345 }
44- };
46+ };
47+
48+ // node* x = a, y = b; XXX
49+ // it should be node* x = a, *y = b;
You can’t perform that action at this time.
0 commit comments