File tree Expand file tree Collapse file tree 1 file changed +13
-22
lines changed 
leetcode/0002.Add-Two-Numbers Expand file tree Collapse file tree 1 file changed +13
-22
lines changed Original file line number Diff line number Diff line change @@ -16,36 +16,27 @@ type ListNode = structures.ListNode
1616 */ 
1717
1818func  addTwoNumbers (l1  * ListNode , l2  * ListNode ) * ListNode  {
19- 	if  l1  ==  nil  ||  l2  ==  nil  {
20- 		return  nil 
21- 	}
22- 	head  :=  & ListNode {Val : 0 , Next : nil }
19+ 	head  :=  & ListNode {Val : 0 }
2320	current  :=  head 
24- 	 carry   :=   0 
25- 	for   l1   !=   nil   ||   l2   !=   nil  { 
26- 		 var   x ,  y   int 
21+ 
22+ 	var   n1 ,  n2 ,  carry   int 
23+ 	for   l1   !=   nil   ||   l2   !=   nil   ||   carry   !=   0  { 
2724		if  l1  ==  nil  {
28- 			x  =  0 
25+ 			n1  =  0 
2926		} else  {
30- 			x  =  l1 .Val 
27+ 			n1  =  l1 .Val 
28+ 			l1  =  l1 .Next 
3129		}
3230		if  l2  ==  nil  {
33- 			y  =  0 
31+ 			n2  =  0 
3432		} else  {
35- 			y  =  l2 .Val 
36- 		}
37- 		current .Next  =  & ListNode {Val : (x  +  y  +  carry ) %  10 , Next : nil }
38- 		current  =  current .Next 
39- 		carry  =  (x  +  y  +  carry ) /  10 
40- 		if  l1  !=  nil  {
41- 			l1  =  l1 .Next 
42- 		}
43- 		if  l2  !=  nil  {
33+ 			n2  =  l2 .Val 
4434			l2  =  l2 .Next 
4535		}
36+ 		current .Next  =  & ListNode {Val : (n1  +  n2  +  carry ) %  10 }
37+ 		current  =  current .Next 
38+ 		carry  =  (n1  +  n2  +  carry ) /  10 
4639	}
47- 	if  carry  >  0  {
48- 		current .Next  =  & ListNode {Val : carry  %  10 , Next : nil }
49- 	}
40+ 
5041	return  head .Next 
5142}
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments