题目:
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
解决方法:
/**
* Example:
* var li = ListNode(5)
* var v = li.`val`
* Definition for singly-linked list.
* class ListNode(var `val`: Int) {
* var next: ListNode? = null
* }
*/
class Solution {
fun mergeTwoLists(list1: ListNode?, list2: ListNode?): ListNode? {
var newNode =ListNode(0)
//指针
var p = newNode
var nodeList1 = list1
var nodeList2 = list2
while(nodeList1 !=null && nodeList2!=null){
if(nodeList1.`val` <=nodeList2.`val`){
p.next = nodeList1
nodeList1 = nodeList1.next
}else{
p.next = nodeList2
nodeList2 = nodeList2.next
}
p = p.next
}
if(nodeList1!=null)p.next = nodeList1
if(nodeList2!=null)p.next = nodeList2
return newNode.next
}
}