题解 | #链表相加(二)#
链表相加(二)
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)
}
阿里云成长空间 747人发布