牛客题霸 NC23 划分链表
Posted Starzkg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛客题霸 NC23 划分链表相关的知识,希望对你有一定的参考价值。
https://www.nowcoder.com/practice/1dc1036be38f45f19000e48abe00b12f
解决方案
Go
func partition(head *ListNode, x int) *ListNode {
// write code here
return solve(head, nil, nil, x)
}
func solve(head *ListNode, pre *ListNode, h *ListNode, x int) *ListNode {
if head == nil {
return h
}
if head.Val >= x {
if pre == nil {
return solve(head.Next, head, head, x)
} else {
next := head.Next
pre.Next = head
head.Next = nil
return solve(next, head, h, x)
}
} else {
head.Next = solve(head.Next, pre, h, x)
return head
}
}
参考文章
以上是关于牛客题霸 NC23 划分链表的主要内容,如果未能解决你的问题,请参考以下文章