leetcode86. 分隔链表
生活随笔
收集整理的這篇文章主要介紹了
leetcode86. 分隔链表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給定一個鏈表和一個特定值 x,對鏈表進行分隔,使得所有小于 x 的節點都在大于或等于 x 的節點之前。
你應當保留兩個分區中每個節點的初始相對位置。
示例:
輸入: head = 1->4->3->2->5->2, x = 3
輸出: 1->2->2->4->3->5
思路:分別創建兩個鏈表保存兩種節點,最后連起來即可。
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) { val = x; }* }*/ class Solution {public ListNode partition(ListNode head, int x) {ListNode before_head = new ListNode(0);ListNode before = before_head;ListNode after_head = new ListNode(0);ListNode after = after_head;while (head != null) {if (head.val < x) {before.next = head;before = before.next;} else {after.next = head;after = after.next;}head = head.next;}after.next = null;before.next = after_head.next;return before_head.next;} }?
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的leetcode86. 分隔链表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode112 路径总和
- 下一篇: leetcode66. 加一