[关闭]
@bintou 2018-10-06T16:40:29.000000Z 字数 529 阅读 1822

Merge Sorted Linked List

编程 代码 LeetCode


题目

这个题目出自LeetCode,合并两条链表,推荐大家做。

思考

值得注意的是在链接表操作中的一些问题。比如,大家能区分以下两段代码的不同吗?

  1. /**
  2. * Definition for singly-linked list.
  3. * struct ListNode {
  4. * int val;
  5. * struct ListNode *next;
  6. * };
  7. */
  8. struct ListNode *list, *tail;
  9. //list; 初始化为一个任意链表;
  10. /*初始化一个名为tail的节点来跟踪list, 满足条件的情况下就把list当前节点放到tail的尾巴,然后list往前走。当然,tail也应该往前走。*/
  11. tail = (struct ListNode*)malloc(sizeof(struct ListNode));
  12. tail->val = -1;
  13. tail->next = NULL;
  14. //省略很多代码,重点在下面三行!!!
  15. tail->next = list;
  16. list = list->next;
  17. tail = tail->next;

如果以上三行代码写成这样:

  1. tail->next = list;
  2. tail = tail->next;
  3. list = list->next;

会不会有什么不同?

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注