86分割链表

相似题目链接(题目几乎一模一样): https://leetcode-cn.com/problems/partition-list-lcci/
思路:使用两个指针进行分割比k小的值放入A链表,其他的放入B链表,最后进行连接。
 
注意点:
最后一个rTail的next必须进行清空处理,防止后面的next仍然小于K值。像上图的5之后的2值。
public ListNode partition(ListNode head, int x) {
    ListNode headA= new ListNode( 0 );
    ListNode tailA=headA;
    ListNode headB= new ListNode( 0 );
    ListNode tailB=headB;
     while (head!= null ){
         if (head. val <x){
            tailA. next =head;
            tailA=head;
        } else {
            tailB. next =head;
            tailB=head;
        }
        head=head. next ;
    }
    tailB. next = null ;
    tailA. next =headB. next ;
     return headA. next ;
}
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值