@bintou
2018-10-06T16:40:29.000000Z
字数 529
阅读 1785
编程
代码
LeetCode
这个题目出自LeetCode,合并两条链表,推荐大家做。
值得注意的是在链接表操作中的一些问题。比如,大家能区分以下两段代码的不同吗?
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode *list, *tail;
//list; 初始化为一个任意链表;
/*初始化一个名为tail的节点来跟踪list, 满足条件的情况下就把list当前节点放到tail的尾巴,然后list往前走。当然,tail也应该往前走。*/
tail = (struct ListNode*)malloc(sizeof(struct ListNode));
tail->val = -1;
tail->next = NULL;
//省略很多代码,重点在下面三行!!!
tail->next = list;
list = list->next;
tail = tail->next;
如果以上三行代码写成这样:
tail->next = list;
tail = tail->next;
list = list->next;
会不会有什么不同?