86. 分隔链表 golang
生活随笔
收集整理的這篇文章主要介紹了
86. 分隔链表 golang
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
86. 分隔鏈表
只把小的放在一邊,大于的不用放到右邊(這個題的題目比較晦澀,很多人說看不懂題,我也沒看懂,解法也沒什么特殊,半天沒讀懂題,看了別人的解法)
給定一個鏈表和一個特定值 x,對鏈表進行分隔,使得所有小于 x 的節點都在大于或等于 x 的節點之前。
你應當保留兩個分區中每個節點的初始相對位置。
示例:
輸入: head = 1->4->3->2->5->2, x = 3
輸出: 1->2->2->4->3->5
Code
/*** Definition for singly-linked list.* type ListNode struct {* Val int* Next *ListNode* }*/ func partition(head *ListNode, x int) *ListNode {if head == nil || head.Next == nil{return head}less:= new(ListNode)cur_l := lessmore := new(ListNode)cur_m :=morecur := headfor cur !=nil{if cur.Val < x {cur_l.Next = &ListNode{cur.Val,nil}cur_l = cur_l.Next}else{cur_m.Next = &ListNode{cur.Val,nil}cur_m = cur_m.Next}cur = cur.Next}cur_l.Next = more.Nextreturn less.Next }總結
以上是生活随笔為你收集整理的86. 分隔链表 golang的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 成都大熊猫繁育研究基地下午可以看到熊猫吗
- 下一篇: dnf下载完安装时出现解压失败,已经很多