链表面试题3:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成 的。
生活随笔
收集整理的這篇文章主要介紹了
链表面试题3:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成 的。
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
鏈表面試題3:將兩個有序鏈表合并為一個新的有序鏈表并返回。新鏈表是通過拼接給定的兩個鏈表的所有節(jié)點組成 的。
首先我們的思想是將得一個鏈表和第二個鏈表的每個結(jié)點進(jìn)行比較,誰小誰就插入到新鏈表的最后。
首先我們要判段鏈表是否為空,如果為空的話,就返回NULL,再這里如果第一個為空,就返回第二個,如果第二個為空就返回第一個,如果都為空,隨便返回一個都是NULL。采用尾插法,用兩個指針,一個指頭,一個指尾。
總體循環(huán),當(dāng)兩個鏈表都不為空的時候,判斷第一個鏈表的第一個結(jié)點的值是否比第二個結(jié)點的小,如果小,則需要判斷當(dāng)前鏈表中有沒有結(jié)點,如果沒有,則直接插入,否則,插入后,移動尾指針。同時,并讓n1走到下一個結(jié)點。反過來也是如此,只不過如果n2小,就讓n2走到下一個結(jié)點,n1不動。仔細(xì)體會。
如果其中有一個鏈表已經(jīng)走完,則直接將沒走完的鏈表接到后面就可以。
總結(jié)
以上是生活随笔為你收集整理的链表面试题3:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成 的。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天魔好不好用,对于狂战来说
- 下一篇: 双向链表的操作(创建,插入,删除)