题解 | #牛群的能量值#

牛群的能量值

https://www.nowcoder.com/practice/fc49a20f47ac431981ef17aee6bd7d15?tpId=354&tqId=10590540&ru=/exam/oj/ta&qru=/ta/interview-202-top/question-ranking&sourceUrl=%2Fexam%2Foj%2Fta%3FtpId%3D354

知识点:链表的遍历

解题思路:同时遍历两条链表,用sum来存储当前位上的和,再加上上一位的进位得到当前位上最终的和。然后计算当前位的进位和余位,用链表存下余位,直到两条链表都到nil为止。由于最后可能存在进位,在循环外特判一下。

package main
import . "nc_tools"
/*
 * type ListNode struct{
 *   Val int
 *   Next *ListNode
 * }
 */

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param l1 ListNode类 
 * @param l2 ListNode类 
 * @return ListNode类
*/
func addEnergyValues( l1 *ListNode ,  l2 *ListNode ) *ListNode {
    // write code here
    carry:=0
    newHead:=&ListNode{}
    cur:=newHead
    for l1 !=nil || l2!=nil{
        sum:=0
        if l1!=nil{
            sum+=l1.Val
            l1 =l1.Next
        }
        if l2!=nil{
            sum+=l2.Val
            l2 = l2.Next
        }
        sum +=carry
        carry =sum/10
        sum = sum%10
        cur.Next = &ListNode{sum,nil}
        cur =cur.Next
    }
    if carry>0{
        cur.Next =&ListNode{carry,nil}
    }
    return newHead.Next
}

全部评论

相关推荐

我已急😭:这科软不就是可以拿钱买吗?我记得那一年一个学校买狠了,数学排名比北大高。
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务