鏈表表示數(shù)字相加 go語言版本
站在用戶的角度思考問題,與客戶深入溝通,找到四平網(wǎng)站設(shè)計與四平網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站設(shè)計、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名與空間、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋四平地區(qū)。給定兩個非空鏈表來表示兩個非負整數(shù)。位數(shù)按照逆序方式存儲,它們的每個節(jié)點只存儲單個數(shù)字。將兩數(shù)相加返回一個新的鏈表。你可以假設(shè)除了數(shù)字 0 之外,這兩個數(shù)字都不會以零開頭。
示例:
輸入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
輸出:7 -> 0 -> 8
原因:342 + 465 = 807
package?main import?"fmt" import?"strconv" import?"reflect" type?ListNode?struct?{ ????data?int ????next?*ListNode } //轉(zhuǎn)成字符串,數(shù)字?相加,再轉(zhuǎn)成鏈表 func?AddTwoNum(l1?*ListNode,?l2?*ListNode)?*ListNode?{ ????????l1Int,_?:=?strconv.Atoi(reverse(l1)) ????????l2Int,_?:=?strconv.Atoi(reverse(l2)) ????????l?:=?l1Int?+?l2Int ????????lStr?:=?strconv.Itoa(l) ????????fmt.Println(reflect.TypeOf(lStr)) ????????fmt.Println(lStr) ????????var?newList?[]*ListNode ????????for?_,v?:=?range?lStr?{ ????????fmt.Println(string(v)) ????????n,_?:=?strconv.Atoi(string(v)) ????????node?:=?&ListNode{data:n} ????????newList?=?append(newList,node) ????????} ????????head?:=?new(ListNode) ????????tail?:=?head ????????for?k,node?:=?range?newList?{ ????????if?k?==?len(newList)-1?{ ????????newList?=?append(newList,nil) ????????} ????????node.next?=?newList[k+1] ????????tail.next?=?node ????????tail?=?tail.next ????????} ????????return?head ????} func?reverse(l?*ListNode)?string?{ ????var?s?string ????for?l?!=?nil?{ ????s?+=?strconv.Itoa(l.data) ????l?=?l.next ????} ????return?s } //?反轉(zhuǎn)鏈表,相加,注意進位 func?(l?*ListNode)AddTwoNumLink(l1?*ListNode)?*ListNode?{ ????//head?:=?new(ListNode) ????var?head?*ListNode ????head?=?&ListNode{} ????newList?:=?new(ListNode) ????newList?=?head ????var?newNode?*ListNode ????l?=?l.reverseLink() ????l1?=?l1.reverseLink() ????data?:=?0 ????carry?:=?0 ????//fmt.Println(l,l1) ????for?l?!=?nil?||?l1?!=?nil?{ ????????var?data1,data2?int ????????if?l?!=?nil?{ ????????????data1?=?l.data ????????????l?=?l.next ????????}?else?{ ????????????data1?=?0 ????????} ????????if?l1?!=?nil?{ ????????????data2?=?l1.data ????????????l1?=?l1.next ????????}?else?{ ????????????data2?=?0 ????????} ????????fmt.Println(data1,data2) ????????data?=?(data1?+?data2?+?carry)?%?10 ????????newNode?=?&ListNode{data:data} ????????head.next?=?newNode ????????carry?=?(data1?+?data2?+?carry)?/?10 ????????head?=?head.next?? ????} ????return?newList.next.reverseLink() } func?(l?*ListNode)reverseLink()?*ListNode?{ ????//pre?:=?new(ListNode) ????var?pre?*ListNode ????next?:=?new(ListNode) ????for?l?!=?nil?{ ????????next?=?l.next ????????//fmt.Println(l.next) ????????l.next?=?pre ????????pre?=?l ????????l?=?next ????} ????l?=?pre ????return?l ????//return?pre } func?(l?*ListNode)readLink()?{ ????var?result?[]int ????for?l?!=?nil?{ ????result?=?append(result,l.data) ????l?=?l.next ????} ????fmt.Println(result) } func?main()??{ ????node7?:=?&ListNode{data:7,next:nil} ????node6?:=?&ListNode{data:6,next:node7} ????node5?:=?&ListNode{data:5,next:node6} ????node4?:=?&ListNode{data:4,next:?node5} ????node3?:=?&ListNode{data:3,next:nil} ????//node3?:=?&ListNode{data:3,next:nil} ????node2?:=?&ListNode{data:2,next:node3} ????node1?:=?&ListNode{data:1,next:?node2} ???? ???? ????//x?:=?AddTwoNum(node1,node4) ????node1.readLink() ????//node1.reverseLink().readLink() ????node1.AddTwoNumLink(node4).readLink() ????//fmt.Println(r) ? }另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當(dāng)前名稱:鏈表表示數(shù)字相加go語言版本-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://jinyejixie.com/article14/ghgge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、移動網(wǎng)站建設(shè)、動態(tài)網(wǎng)站、App開發(fā)、建站公司、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容