链表的操作,防止日后遗忘
对于指针类型,他们拿的是a的地址
,利用指针可以修改原来元素的值,如果有另一个指针q等于
当前指针p,(注意是等于,不是指向),另一个指针q
拿到的也是a的地址,此时将指针p设为null
,对q无影响
*p++, *++p,
++,和 * 的 优先级相同,但是相同优先级从右向左执行
*p + 1
先执行*
运算
int a[2] = {1,12};
int *p;
p = &a[0];
int *q;
q = p;
p = NULL;
cout<<q[0];
//cout<<*++p<<endl;
//cout<<*p<<endl;
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution
{
public:
ListNode* merge(ListNode* l1, ListNode* l2)
{
ListNode *head,*cur;
head = new ListNode(0);
cur = head;
while(l1 && l2)
{
if(l1 ->val < l2 ->val)
{
head->next = l1;
head = head->next;
l1 = l1 ->next;
}
else
{
head->next = l2;
head = head->next;
l2 = l2 ->next;
}
}
if(l1)head->next = l1;
if(l2)head->next = l2;
return cur->next;
}
};