如何解决如何在Java中获取LinkedList的头节点?
这是合并两个链表的leetcode 21问题,我尝试下面给出的最佳解决方案 但是我还是出错了?
class Solution {
public ListNode mergeTwoLists(ListNode l1,ListNode l2)
{
ListNode one = l1.head;
ListNode two = l2.head;
LinkedList res=new LinkedList();
while(one.val!= null && two.val!= null)
{
if(one.val<=two.val)
{
res.addLast(one.val);
one=one.next;
}
else
{
res.addLast(two.val);
two=two.next;
}
}
//if second list finish
while(one.val!=null)
{
res.addLast(one.val);
one=one.next;
}
//if first list finish
while(two.val!=null)
{
res.addLast(two.val);
two=one.next;
}
return res;
}
}
第14行:错误:找不到符号 符号:可变头
我们如何访问链表的标题?
解决方法
我们也可以递归地做到这一点:
public class Solution {
public static final ListNode mergeTwoLists(
final ListNode l1,final ListNode l2
) {
if (l1 == null) {
return l2;
}
if (l2 == null) {
return l1;
}
final ListNode merged;
if (l1.val < l2.val) {
merged = l1;
merged.next = mergeTwoLists(l1.next,l2);
} else {
merged = l2;
merged.next = mergeTwoLists(l1,l2.next);
}
return merged;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。