这篇文章主要介绍了leetcode链表之分割链表的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
题目
编写程序以 x 为基准分割链表,使得所有小于 x 的节点排在大于或等于 x 的节点之前。如果链表中包含 x,x 只需出现在小于 x 的元素之后(如下所示)。分割元素 x 只需处于“右半部分”即可,其不需要被置于左右两部分之间。示例:输入: head = 3->5->8->5->10->2->1, x = 5输出: 3->1->2->10->5->5->8来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/partition-list-lcci著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
题解
class Solution { public ListNode partition(ListNode head, int x) { ListNode cursor = head; ListNode previous = head; int tmp; while (cursor != null) { if (cursor.val < x) { tmp = cursor.val; cursor.val = previous.val; previous.val = tmp; previous = previous.next; } cursor = cursor.next; } return head; }}
感谢你能够认真阅读完这篇文章,希望小编分享的“leetcode链表之分割链表的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!