Go语言实现LeetCode算法:LeetCode 2 两数相加
Go语言中文网,致力于每日分享编码、开源等知识,欢迎关注我,会有意想不到的收获!
1 题目描述
给定两个代表两个非负整数的非空链表。数字在链表以逆序存储且链表的每个节点均包含一位数字,将两数相加且以链表返回。
您可以假设,除数字0外,两数都不会以0开头。
例子:
输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8 释义:342 + 465 = 807
题目出处:
https://leetcode.com/problems/add-two-numbers/
2 解决思路
初始进位为0,由头至尾同时遍历两链表,即由数字地位到高位遍历链表,将两指针所指两链表对应位置的两节点的数字相加,以抹去进位的数字给结果链表的当前节点赋值,然后将进位提供给下一个节点计算时使用。
直至两个链表均已遍历完成且进位为0时返回结果。
3 golang实现代码
https://github.com/olzhy/leetcode/blob/master/2_Add_Two_Numbers/test.go
原文链接:https://leileiluoluo.com/posts/leetcode-add-two-numbers.html
本文作者:磊磊落落的博客,原创授权发布