这篇文章主要介绍了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 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
/** * 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 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链表之分割链表的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。