当前位置:   article > 正文

LeetCode-合并两个有序链表(java实现)_合并有序链表java输入输出

合并有序链表java输入输出

    题目如下

     看完题目之后,思考的结果是用递归做应该是最佳的选择。但无奈水平真的有限,没有想出来如何用设计递归。提交的时候就没有用递归实现,运行结果可想而知:23ms。看了第一名的用时是5ms,而且代码简洁优美,不得不佩服

  1. /**
  2. *Definition for singly-linked list
  3. */
  4. class ListNode{
  5. int val;
  6. ListNode next;
  7. ListNode(int x){
  8. val = x;
  9. }
  10. }
  11. public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
  12. if (l1 == null) return l2;
  13. if (l2 == null) return l1;
  14. ListNode head = null;
  15. if (l1.val <= l2.val){
  16. head = l1;
  17. head.next = mergeTwoLists(l1.next, l2);
  18. } else {
  19. head = l2;
  20. head.next = mergeTwoLists(l1, l2.next);
  21. }
  22. return head;
  23. }

    关于程序递归的运行步骤,我画了一个简图帮助自己理解

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/858762
推荐阅读
相关标签
  

闽ICP备14008679号