leetcode: (21) Merge Two Sorted Lists
来源:互联网 发布:mac绝对路径 编辑:程序博客网 时间:2024/06/13 22:54
【Question】
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.
方法一:新建一个链表,比较l1->val和l2->val,一次插入到新建链表中
ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { int i; ListNode *temp,*p1,*p2,*p3,*l3; if(l1==NULL && l2== NULL) return l1; if(l1==NULL && l2!=NULL) return l2; if(l1!=NULL && l2==NULL) return l1; p1=l1; p2=l2; p3=(ListNode *)malloc(sizeof(ListNode)); if(p1->val<=p2->val) { p3->val=p1->val; p1=p1->next; } else { p3->val=p2->val; p2=p2->next; } p3->val=NULL; p3->next=NULL; l3=p3; while(p1!=NULL && p2!=NULL) { temp=(ListNode *)malloc(sizeof(ListNode)); if(p1->val>p2->val) { temp->val=p2->val; temp->next=p3->next; p3->next=temp; p3=temp; p2=p2->next; } else { temp->val=p1->val; temp->next=NULL; p3->next=temp; p3=temp; p1=p1->next; } } while(p1==NULL&& p2!=NULL) { temp=(ListNode *)malloc(sizeof(ListNode)); temp->val=p2->val; temp->next=p3->next; p3->next=temp; p3=temp; p2=p2->next; } while(p2==NULL&& p1!=NULL) { temp=(ListNode *)malloc(sizeof(ListNode)); temp->val=p1->val; temp->next=p3->next; p3->next=temp; p3=temp; p1=p1->next; } return l3; }
JAVA
参考http://blog.csdn.net/lanxu_yy/article/details/11692677,语句简化后的
public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode head=new ListNode(0); ListNode ptr=head; while(l1 != null || l2 != null) { ListNode cur = new ListNode(0); if(l1 == null){ cur = l2; l2 = l2.next; } else if(l2 == null){ cur = l1; l1 = l1.next; } else{ if(l1.val < l2.val){ cur = l1; l1 = l1.next; } else{ cur = l2; l2 = l2.next; } } ptr.next = cur; ptr = ptr.next; } return head.next; }
0 0
- LeetCode(21)Merge Two Sorted Lists
- [LeetCode 21] Merge Two Sorted Lists Solution
- [leetcode 21] Merge Two Sorted Lists
- LeetCode 21:Merge Two Sorted Lists
- LeetCode | #21 Merge Two Sorted Lists
- [Leetcode] 21 - Merge Two Sorted Lists
- leetcode.21------------Merge Two Sorted Lists
- [leetcode]21 Merge Two Sorted Lists
- Leetcode NO.21 Merge Two Sorted Lists
- leetcode[21 链表]Merge Two Sorted Lists
- leetcode-21 Merge Two Sorted Lists
- leetCode #21 Merge Two Sorted Lists
- leetcode 21 Merge Two Sorted Lists
- [Leetcode 21, Easy] Merge Two Sorted Lists
- LeetCode 21 Merge Two Sorted Lists
- Leetcode 21 Merge Two Sorted Lists
- 【leetcode】【单链表】【21】Merge Two Sorted Lists
- LeetCode 21 - Merge Two Sorted Lists
- Item 5:那些被C++默默地声明和调用的函数 Effective C++笔记
- 1096. Consecutive Factors (20)
- 冲吧!不必准备好
- httpd: unrecognized service 的解决方案
- Mysql 转换表的引擎
- leetcode: (21) Merge Two Sorted Lists
- [leetcode-257]Binary Tree Paths(java)
- Item 6:禁用那些不需要的缺省方法 Effective C++笔记
- android studio模板
- Item 7:将多态基类的析构函数声明为虚函数 Effective C++笔记
- zend_db_table_row
- 黑马程序员-------Java笔记-------集合综合题(常考的三种题)
- 博客迁移:Shell脚本批量文件处理
- iOS 常用一些小工具