前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Leetcode Golang 2. Add Two Numbers.go

Leetcode Golang 2. Add Two Numbers.go

作者头像
anakinsun
发布2019-04-12 11:12:52
4500
发布2019-04-12 11:12:52
举报
文章被收录于专栏:学习日记学习日记

版权声明:原创勿转 https://cloud.tencent.com/developer/article/1412885

思路

注意的问题:

1.进位

2.两个list的长度不一定相等

code

代码语言:javascript
复制
func addTwoNumbers(l1 *ListNode, l2 *ListNode) *ListNode {
	result := &ListNode{0, nil}
	cursor := result
	leftBit, rightBit, carryBit := 0, 0, 0

	for l1 != nil || l2 != nil || carryBit > 0 {
		if l1 != nil {
			leftBit = l1.Val
			l1 = l1.Next
		} else {
			leftBit = 0
		}

		if l2 != nil {
			rightBit = l2.Val
			l2 = l2.Next
		} else {
			rightBit = 0
		}
		//考虑有进位的情况
		cursor.Val = (leftBit + rightBit + carryBit) % 10
		carryBit = (leftBit + rightBit + carryBit) / 10

		if l1 != nil || l2 != nil || carryBit > 0 {
			cursor.Next = &ListNode{0, nil}
			cursor = cursor.Next
		}
	}

	return result
}

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年03月28日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 思路
  • code
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档