Advertisement

LeetCode: 链表重复元素问题及重排链表

阅读量:

重排链表

针对某一链表结构,首先需定位其后半部分,并将其顺序进行倒置处理,随后将调整后的后半部分依次插入至前半部分的节点之间,实现间隔式合并。

复制代码
    输入: head = [1,2,3,4]
    输出: [1,4,2,3]
    
    输入: head = [1,2,3,4,5]
    输出: [1,5,2,4,3]
    
    
      
      
      
      
      
    

(1)采用双指针技术确定链表的中点位置

(2)对链表后半部分实施逆序操作,完成链表的反转

(3)接下来,将两个链表中的节点依次交叉插入

实现两个链表节点的交叉合并

复制代码
    public void merger(ListNode l1,ListNode l2){

    	ListNode l1_temp;
    	ListNode l2_temp;
    	while(l1 != null && l2 != null){
    		l1_temp = l1.next;
    		l2_temp = l2.next;
    		
    		l1.next = l2;
    		l1 = l1_temp;
    		
    		l2.next = l1;
    		l2 = l

全部评论 (0)

还没有任何评论哟~