日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

常考数据结构与算法:两个链表生成相加链表

發(fā)布時間:2025/6/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 常考数据结构与算法:两个链表生成相加链表 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目描述

假設鏈表中每一個節(jié)點的值都在 0 - 9?之間,那么鏈表整體就可以代表一個整數(shù)。

給定兩個這種鏈表,請生成代表兩個整數(shù)相加值的結果鏈表。

例如:鏈表 1?為 9->3->7,鏈表 2?為 6->3,最后生成新的結果鏈表為 1->0->0->0。

?

示例1

輸入

[9,3,7],[6,3]

返回值

{1,0,0,0}

?

方案一:

1、將兩個鏈表逆序,這樣就可以依次得到從低到高位的數(shù)字

2、同步遍歷兩個逆序后鏈表,相加生成新鏈表,同時關注進位

3、當兩個鏈表都遍歷完成后,關注進位。

4、 將兩個逆序的鏈表再逆序一遍,調整回去

package datastructure;public class AddInListMe {/**** @param head1 ListNode類* @param head2 ListNode類* @return ListNode類*/public ListNode addInList (ListNode head1, ListNode head2) {head1 = reverseList(head1);head2 = reverseList(head2);int ca = 0;int n1 =0;int n2 =0;int n =0;ListNode c1 = head1;ListNode c2 = head2;ListNode node = null;ListNode pre = null;while(c1 !=null || c2!=null){n1 = c1 != null ? c1.val:0;n2 = c2 != null ? c2.val:0;n = n1+n2+ca;pre= node;node = new ListNode(n % 10); // 余數(shù)node.next=pre;ca=n/10;c1=c1 != null ? c1.next : null;c2=c2 != null ? c2.next : null;}if(ca == 1){pre=node;node = new ListNode(1);node.next = pre;}reverseList(head1);reverseList(head2);return node;}public ListNode reverseList(ListNode head){ListNode pre = null;ListNode next = null;while(head!=null){next=head.next;head.next=pre;pre=head;head=next;}return pre;} }

?

方案二:

? ?能把數(shù)據(jù)順序反過來的數(shù)據(jù)結構,那不就是棧嘛,我們可以先將兩個鏈表中的數(shù)存儲在棧中,計算的時候依次出棧,再加上一個標志位?carry,我們就能做到計算個位的和,并向十位進位,再計算十位的和,并向百位進位,以此類推。。。

public ListNode addInList(ListNode head1, ListNode head2) {Stack<Integer> s1 = new Stack<>();Stack<Integer> s2 = new Stack<>();int ca = 0;while(null != head1){s1.push(head1.val);head1 = head1.next;}while(null != head2){s2.push(head2.val);head2 = head2.next;}int c1 = 0;int c2 = 0;int ret = 0;ListNode pre;ListNode node=null;while(!s1.isEmpty() || !s2.isEmpty()){c1 = 0;c2 = 0;if(!s1.isEmpty()){c1 = s1.pop();}if(!s2.isEmpty()){c2 = s2.pop();}ret = c1 + c2 + ca;pre = node;node = new ListNode(ret%10);node.next = pre;ca = ret/10;}if(1 == ca){pre = node;node = new ListNode(1);node.next = pre;}return node;}

?

總結

以上是生活随笔為你收集整理的常考数据结构与算法:两个链表生成相加链表的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美精品在线一区二区三区 | 四虎精品永久在线 | 超碰在线观看97 | 国产香蕉精品 | 四虎国产精品永久在线国在线 | 国产主播精品在线 | 天堂中文在线观看视频 | 制服丝袜在线第一页 | 欧美在线免费视频 | av黄色网址 | 精品视频不卡 | 国产一区二区三区成人 | www.欧美国产 | 狠狠五月婷婷 | 一级片视频免费看 | 精品国产aⅴ一区二区三区东京热 | 在线观看xxxx | 老司机深夜福利网站 | 亚洲精品人妻无码 | 高清av一区二区三区 | 婷婷91| 激情777| 国产在线精品成人欧美 | 超碰在线超碰 | 久久色av| 四虎影视成人 | 日韩精品免费观看 | 久久久久久国产视频 | 国产激情视频在线播放 | 日本三级视频在线观看 | 奇米97 | 91丨porny丨尤物 | 天堂成人国产精品一区 | 日韩av资源站 | 国产性在线 | 超碰在线观看免费 | 国产精品久久久一区二区 | 求av网址| 精品久久ai | 最新中文字幕在线 | 国产日韩视频在线 | 免费无码又爽又黄又刺激网站 | 亚洲精品乱码久久久久久黑人 | av在线不卡网 | 五月婷婷丁香六月 | 手机在线一区 | 三级色网 | 日韩av线上| 久久人妖| 在线精品亚洲欧美日韩国产 | 少妇av一区二区三区 | 狠狠五月婷婷 | 自拍第二页 | 美女av在线免费观看 | 在线免费三级 | 中文字幕亚洲天堂 | 国产乱码精品一区二区三区精东 | 亚洲国产视频在线观看 | 色噜噜亚洲 | a天堂中文字幕 | 91久久精品日日躁夜夜躁欧美 | 日韩中文第一页 | 青青草免费在线观看视频 | 午夜精品极品粉嫩国产尤物 | 日韩中文字幕亚洲精品欧美 | 不卡一区二区三区四区 | 理伦毛片 | 日韩在线观看视频一区二区 | 日韩国产激情 | 黄色一级大片免费看 | 乱日视频 | 性一交一乱一区二区洋洋av | 国产午夜精品久久久 | 欧美综合一区二区 | 女人扒开腿让男人桶爽 | 爱的色放3| 精品一区视频 | 男人日女人b视频 | 亚洲精品v天堂中文字幕 | 黄色三级图片 | 在线免费看污网站 | 国产学生美女无遮拦高潮视频 | 最新在线中文字幕 | 日韩欧美中 | 天天尻逼 | 日本一级大毛片a一 | 国产精品精品国产色婷婷 | 免费黄色的网站 | 特级新鲜大片片 | 女人下面喷水视频 | 亚洲AV无码精品色 | 四房婷婷 | 亚洲一区二区久久久 | 人妻一区在线 | 日韩激情在线视频 | 青青草在线视频免费观看 | 看污网站| 成人看片免费 | 久久夜色精品国产噜噜亚洲av |