[英]Merge two sorted linked lists java inplace
Could some one give code for merging 2 sorted LLs in place?有人可以提供将 2 个已排序的 LL 合并到位的代码吗?
recursion & also iterative please递归和迭代请
Thanks Dinesh谢谢 Dinesh
public class MergeLinkedLists {
public static Node merge(Node head1, Node head2) {
Node mergedList = null;
if(head1 == null) {
return head2;
}
if(head2 == null) {
return head1;
}
if(head1.data < head2.data) {
//point to smaller element
mergedList = head1;
mergedList.next = merge(head1.next, head2);
} else { //head1 is large, so pass h
//point to smaller element
mergedList = head2;
//head2 is already consider
//now process next node of head2
mergedList.next = merge(head1, head2.next);
}
return mergedList;
}
} }
Here is a quick recursive solution in python.这是python中的快速递归解决方案。 The implementation logic should be the same in Java
Java中的实现逻辑应该是一样的
def mergeLists(head1, head2):
if not head1:
return head2
if not head2:
return head1
if head1.data <= head2.data:
res = head1
res.next = mergeLists(head1.next, head2)
else:
res = head2
res.next = mergeLists(head1, head2.next)
return res
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.