题解 | #链表相加(二)#
链表相加(二)
https://www.nowcoder.com/practice/c56f6c70fb3f4849bc56e33ff2a50b6b
package main import . "nc_tools" /* * type ListNode struct{ * Val int * Next *ListNode * } */ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param head1 ListNode类 * @param head2 ListNode类 * @return ListNode类 */ func translist (head *ListNode) *ListNode{ var newHead *ListNode if head == nil || head.Next ==nil{ return head } for head!=nil{ temp := head.Next head.Next = newHead newHead = head head = temp } return newHead } func addInList( head1 *ListNode , head2 *ListNode ) *ListNode { // write code here head1 = translist(head1) head2 = translist(head2) head := &ListNode{-1,nil} nhead :=head tmp := 0 for head1 != nil || head2!=nil{ val := tmp if head1 != nil { val = val+head1.Val head1=head1.Next } if head2 != nil{ val = val+head2.Val head2=head2.Next } tmp = val/10 nhead.Next = &ListNode{val%10,nil} nhead = nhead.Next } if tmp >0 { nhead.Next =&ListNode{tmp,nil} } return translist(head.Next) }