mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-07 09:54:57 +08:00
Update solution 0148
This commit is contained in:
@ -25,17 +25,17 @@ func sortList(head *ListNode) *ListNode {
|
|||||||
return head
|
return head
|
||||||
}
|
}
|
||||||
|
|
||||||
middleNode := middleNode1(head)
|
middleNode := middleNode(head)
|
||||||
cur = middleNode.Next
|
cur = middleNode.Next
|
||||||
middleNode.Next = nil
|
middleNode.Next = nil
|
||||||
middleNode = cur
|
middleNode = cur
|
||||||
|
|
||||||
left := sortList(head)
|
left := sortList(head)
|
||||||
right := sortList(middleNode)
|
right := sortList(middleNode)
|
||||||
return mergeTwoLists148(left, right)
|
return mergeTwoLists(left, right)
|
||||||
}
|
}
|
||||||
|
|
||||||
func middleNode1(head *ListNode) *ListNode {
|
func middleNode(head *ListNode) *ListNode {
|
||||||
if head == nil || head.Next == nil {
|
if head == nil || head.Next == nil {
|
||||||
return head
|
return head
|
||||||
}
|
}
|
||||||
@ -48,21 +48,6 @@ func middleNode1(head *ListNode) *ListNode {
|
|||||||
return p1
|
return p1
|
||||||
}
|
}
|
||||||
|
|
||||||
func mergeTwoLists148(l1 *ListNode, l2 *ListNode) *ListNode {
|
|
||||||
if l1 == nil {
|
|
||||||
return l2
|
|
||||||
}
|
|
||||||
if l2 == nil {
|
|
||||||
return l1
|
|
||||||
}
|
|
||||||
if l1.Val < l2.Val {
|
|
||||||
l1.Next = mergeTwoLists(l1.Next, l2)
|
|
||||||
return l1
|
|
||||||
}
|
|
||||||
l2.Next = mergeTwoLists(l1, l2.Next)
|
|
||||||
return l2
|
|
||||||
}
|
|
||||||
|
|
||||||
func mergeTwoLists(l1 *ListNode, l2 *ListNode) *ListNode {
|
func mergeTwoLists(l1 *ListNode, l2 *ListNode) *ListNode {
|
||||||
if l1 == nil {
|
if l1 == nil {
|
||||||
return l2
|
return l2
|
||||||
|
@ -54,17 +54,17 @@ func sortList(head *ListNode) *ListNode {
|
|||||||
return head
|
return head
|
||||||
}
|
}
|
||||||
|
|
||||||
middleNode := middleNode1(head)
|
middleNode := middleNode(head)
|
||||||
cur = middleNode.Next
|
cur = middleNode.Next
|
||||||
middleNode.Next = nil
|
middleNode.Next = nil
|
||||||
middleNode = cur
|
middleNode = cur
|
||||||
|
|
||||||
left := sortList(head)
|
left := sortList(head)
|
||||||
right := sortList(middleNode)
|
right := sortList(middleNode)
|
||||||
return mergeTwoLists148(left, right)
|
return mergeTwoLists(left, right)
|
||||||
}
|
}
|
||||||
|
|
||||||
func middleNode1(head *ListNode) *ListNode {
|
func middleNode(head *ListNode) *ListNode {
|
||||||
if head == nil || head.Next == nil {
|
if head == nil || head.Next == nil {
|
||||||
return head
|
return head
|
||||||
}
|
}
|
||||||
@ -77,7 +77,7 @@ func middleNode1(head *ListNode) *ListNode {
|
|||||||
return p1
|
return p1
|
||||||
}
|
}
|
||||||
|
|
||||||
func mergeTwoLists148(l1 *ListNode, l2 *ListNode) *ListNode {
|
func mergeTwoLists(l1 *ListNode, l2 *ListNode) *ListNode {
|
||||||
if l1 == nil {
|
if l1 == nil {
|
||||||
return l2
|
return l2
|
||||||
}
|
}
|
||||||
@ -92,4 +92,5 @@ func mergeTwoLists148(l1 *ListNode, l2 *ListNode) *ListNode {
|
|||||||
return l2
|
return l2
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
Reference in New Issue
Block a user