1.关于分配内存:malloc返回的指针类型是void*,需要手动强转为需要的类型,而new不需要如此,new的返回类型是类型安全的。
2.结构体内方法的应用。
3.链表。
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
ListNode* ans=l1;
ListNode* s1=l1;
ListNode* s2=l2;
while(l1->next!=NULL||l2->next!=NULL){
if(l1->next==NULL){
ListNode *temp=new ListNode(0);//结构体内的方法
l1->next=temp;
}
if(l2->next==NULL){
ListNode *temp=new ListNode(0);
l2->next=temp;
}
l1=l1->next;
l2=l2->next;
}//补齐长度
l1=s1;l2=s2;
int flag=0;
while(l1->next!=NULL){
l1->val+=l2->val;
if(flag){
l1->val++;
flag=0;
}
if(l1->val>=10){
l1->val-=10;
flag=1;
}
l1=l1->next;
l2=l2->next;
}
//处理最后一位
l1->val+=l2->val;
if(flag)l1->val++;
if(l1->val>=10){
l1->val-=10;
ListNode *temp=new ListNode(1);
l1->next=temp;
}
return ans;
}
};