题目描述
https://leetcode-cn.com/problems/ugly-number/
解
package main
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func mergeTwoLists(l1 *ListNode, l2 *ListNode) *ListNode {
var (
head *ListNode
now *ListNode
)
if l1 == nil{
return l2
}
if l2 == nil{
return l1
}
if l1.Val >= l2.Val {
now = l2
l2 = l2.Next
} else {
now = l1
l1 = l1.Next
}
head = now
for l1 != nil && l2 != nil {
//var m *ListNode
if l1.Val >= l2.Val {
now.Next = l2
l2 = l2.Next
} else {
now.Next = l1
l1 = l1.Next
}
now = now.Next
}
if l1 != nil {
now.Next = l1
}
if l2 != nil {
now.Next = l2
}
return head
}
思路
这个是合并K的有序链表的简单版本!前面有做是否是头结点的判断,之后发现完全大可不必,最后直接返回head.Next是不是更好了呢!
网友评论