LeetCode刷题:面试题 02.04. 分割链表

题目:LeetCode刷题:面试题 02.04. 分割链表_第1张图片

是否独立思考解决:否,完全没有思路,在参考解题思路后,仍然没有解决出来,以后刷题过程没有思路可以参考别人的解题思路,但是出现问题一定要多加思考,不能一心想着通过为标准,照着别人的代码抄

解题思路:既然题目要求比目标值小的数要排在前面,比目标值大的数不动,那么直接分为两个链表small与large,遍历head链表之后,比目标值小的值就放在small中,比目标值大的值就放在large中

解题代码:

class Solution {
    public ListNode partition(ListNode head, int x) {
        if(head==null){return null;}
        ListNode smallhead = new ListNode(0);//创建头结点,并保持头结点不动是指向标
           ListNode small = smallhead;//创建节点指向节点方便后续节点的存储与移动
       ListNode largehead = new ListNode(0);
       ListNode large = largehead;
        while(head!= null){
           
            if(head.val

你可能感兴趣的:(leetcode,链表,算法)