题解 | #牛群分隔#
牛群分隔
https://www.nowcoder.com/practice/16d9dc3de2104fcaa52679ea796e638e
package main
/*
* type ListNode struct{
* Val int
* Next *ListNode
* }
*/
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param head ListNode类
* @param x int整型
* @return ListNode类
*/
func cow_partition( head *ListNode , x int ) *ListNode {
// write code here
overHead:=new(ListNode)
fakeHead:=new(ListNode)
fakeHead.Next=head //虚头节点,方便处理head
tmpHead:=fakeHead // 用于遍历的节点
overTmp:=overHead // 新链表存储大于x的节点
for tmpHead!=nil&&tmpHead.Next!=nil{
if tmpHead.Next.Val>=x{
overTmp.Next=&ListNode{Val:tmpHead.Next.Val}
overTmp=overTmp.Next
tmpHead.Next=tmpHead.Next.Next // 删除旧链表中的大数据
}else{
tmpHead=tmpHead.Next
}
}
tmpHead.Next=overHead.Next // 链接链表
return fakeHead.Next
}
正浩创新EcoFlow公司福利 510人发布