题解 | #链表相加(二)#

链表相加(二)

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 addInList( head1 *ListNode ,  head2 *ListNode ) *ListNode {
      rl1, rl2 := reverse(head1), reverse(head2)
    newHead := &ListNode{}
    cur := newHead
    plus := 0

    for rl1 != nil || rl2 != nil {
        node := &ListNode{Val: plus}
        if rl1 != nil {
            node.Val += rl1.Val
            rl1 = rl1.Next
        }
        if rl2 != nil {
            node.Val += rl2.Val
            rl2 = rl2.Next
        }
        plus = node.Val/10
        node.Val %= 10
        cur.Next = node
        cur = cur.Next
    }

    if plus > 0 {
        cur.Next = &ListNode{Val: plus}
    }

    return reverse(newHead.Next)
}

func reverse(head *ListNode) *ListNode {
    var pre *ListNode
    cur := head
    for cur != nil {
        nxt := cur.Next
        cur.Next = pre
        pre = cur
        cur = nxt
    }
    return pre
}


全部评论
leetcode变种题,需要先反转,哈哈
点赞 回复 分享
发布于 2024-04-26 17:28 天津

相关推荐

07-10 13:59
门头沟学院 Java
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-15 17:46
暑期就挂了,秋招还有机会吗
大聪明777:研发提前批,14号刚开的,官网上面的配图上有写。提前批没过的话,秋招还可以投,不过前面的笔试/面试记录会被保留,供秋招参考
26届校招投递进展
点赞 评论 收藏
分享
吴offer选手:下午mt一来就告警说项目来不及,估计明天拿了权限就要参与开发了 已老实
实习生的蛐蛐区
点赞 评论 收藏
分享
05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

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