91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

golang中怎么利用leetcode 實現鏈表求和

發布時間:2021-07-06 15:04:27 來源:億速云 閱讀:294 作者:Leah 欄目:大數據

本篇文章為大家展示了golang中怎么利用leetcode 實現鏈表求和,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

給定兩個用鏈表表示的整數,每個節點包含一個數位。

這些數位是反向存放的,也就是個位排在鏈表首部。

編寫函數對這兩個整數求和,并用鏈表形式返回結果。

示例:

輸入:(7 -> 1 -> 6) + (5 -> 9 -> 2),即617 + 295

輸出:2 -> 1 -> 9,即912

進階:假設這些數位是正向存放的,請再做一遍。

示例:

輸入:(6 -> 1 -> 7) + (2 -> 9 -> 5),即617 + 295

輸出:9 -> 1 -> 2,即912

解題思路

1,這個題目需要注意一個細節,進位標記

2,有與個位在前,所以比較簡單

3,需要注意,兩個鏈表的長短不一致

4,對于1+9999情況需要特殊處理

代碼實現

/** * Definition for singly-linked list. * type ListNode struct { *     Val int *     Next *ListNode * } */func addTwoNumbers(l1 *ListNode, l2 *ListNode) *ListNode {  if l1==nil{      return l2  }  if l2==nil{      return l1  }  r:=new(ListNode)  tr:=r  t1:=l1  t2:=l2  flag:=0
 tr.Val=(t1.Val+t2.Val+flag)%10  flag=(t1.Val+t2.Val+flag)/10  for t1.Next!=nil && t2.Next!=nil{      tr.Next=new(ListNode)      tr=tr.Next      t1=t1.Next      t2=t2.Next
       tr.Val=(t1.Val+t2.Val+flag)%10        flag=(t1.Val+t2.Val+flag)/10        }
 for t1.Next!=nil{            tr.Next=new(ListNode)      tr=tr.Next      t1=t1.Next      tr.Val=(t1.Val+flag)%10      flag=(t1.Val+flag)/10    }
 for t2.Next!=nil{      tr.Next=new(ListNode)      tr=tr.Next      t2=t2.Next       tr.Val=(t2.Val+flag)%10        flag=(t2.Val+flag)/10    }
 if flag!=0{            tr.Next=new(ListNode)      tr=tr.Next      tr.Val=flag  }
return r}

上述內容就是golang中怎么利用leetcode 實現鏈表求和,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

霍城县| 翁源县| 双桥区| 北宁市| 蛟河市| 乌拉特前旗| 南城县| 和龙市| 康保县| 乐至县| 克什克腾旗| 互助| 固始县| 黔南| 昌邑市| 屯门区| 大安市| 金堂县| 柞水县| 汪清县| 林西县| 常德市| 柳州市| 安岳县| 榕江县| 岑溪市| 青神县| 万州区| 昭平县| 偃师市| 鹤壁市| 乾安县| 山西省| 山阳县| 河源市| 北碚区| 陵川县| 平泉县| 南宁市| 鹤岗市| 洛川县|