您的位置:首页 > 其它

leetcode 21-Merge Two Sorted Lists

2017-11-29 00:26 351 查看
难度:easy

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.

思路: 1. 从今天开始进入链表(linked list)学习,因为没有找到特别系统全面的python相关资料,决定采用以做题带学的方式,通过别人的code来学习链表的各类操作。

             2. 本题题意很简单,将两个已经从小到大sorted好的链表合并为一个从小到大排列的链表。

             3. 新建一个链表,如果两个旧链表为None,则新链表为None. 如果旧链表不为空(至少有一个不为空),则                   用next将两个链表的当前位置比较,谁的小就放谁进入新链表,当一个链表放完以后,说明另外一个链表 
                 剩下的元素都比较大,再放进去就好。

             4. A:单链表的结点是一个二元组,由两部分组成,1. 元素域(elem)保存着作为表元素的数据项(或者数据 项的关联信息)

                                                                                             2. 链接域next里保存同一个表里的下一个结点的标识。

                 B:创建一个新的linked list   dummy=ListNode(i)  (dummy=i)

                 C:在结点尾端加入一个新元素(在链表的首端,尾端,中间定位插入操作是不一样的),修改原结点的  next域,使其指向新结点, cur,next=l1,  cur.next=l2

                 D:删除首端结点(删除首端和其他位置元素操作也是不一样的),需要将该节点指向结点的next,             cur=cur.next;

                 E: 一般情况下的元素删除,找到要删元素所在结点的前一结点,设用变量cur指向,然后修改cur的next      域,使之指向被删结点的下一个结点:cur.next=cur.next.next 

     

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode 链表