这是在面试的书面测试期间提出的编程问题."你有两个已经排序的单链表,你必须合并它们并返回新列表的头部而不创建任何新的额外节点.返回的列表也应该排序"
方法签名是:Node MergeLists(Node list1,Node list2);
节点类如下:
class Node{
int data;
Node next;
}
Run Code Online (Sandbox Code Playgroud)
我尝试了很多解决方案,但没有创建一个额外的节点螺丝.请帮忙.
以下是随附的博客文章http://techieme.in/merging-two-sorted-singly-linked-list/
我只是想知道合并两个大小为n和m的排序数组的时间复杂性,因为n总是大于m.
我正在考虑使用合并排序,我假设在这种情况下将消耗O(log n + m).
我不是很喜欢大哦和东西.请告诉我这个问题的时间复杂性,如果有一种解决问题的优化方法,请告诉我.
提前致谢.