A
題目: 2. 兩數相加
struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2){
struct ListNode *L,*p1,*p2;
int s,flag=0,a,b,l1end=0,l2end=0; //a,b接收l1,l2各節點上的數
//s存儲a+b的和
//l1end,l2end記鏈表l1,l2是否遍歷完
//flag記是否進位
L=(struct ListNode*)malloc(sizeof(struct ListNode));
L->next=NULL;
p2=L;
while(l1!=NULL||l2!=NULL||flag==1)
{ (l1!=NULL)? a=l1->val:(a=0,l1end=1); //判斷鏈表l1當前節點狀態
(l2!=NULL)? b=l2->val:(b=0,l2end=1); //判斷鏈表l2當前節點狀態
s=a+b+flag;
p1=(struct ListNode*)malloc(sizeof(struct ListNode)); //尾插法構建新鏈表L,把各位上的和存儲在其節點上
p1->val=s%10;
p2->next=p1;
p2=p1;
if(s>=10) //判斷和是否進位,記flag
flag=1;
else
flag=0;
if(l1end!=1) //判斷鏈表l1是否遍歷完
l1=l1->next;
if(l2end!=1) //判斷鏈表l2是否遍歷完
l2=l2->next;
}
p2->next=NULL;
L=L->next; //去頭,變為不帶頭指針的鏈表L
return L;
官方題解
方法:初等數學
思路:
我們使用變量來跟蹤進位,并從包含最低有效位的表頭開始模擬逐位相加的過程。
image.png
圖1,對兩數相加方法的可視化: 342 + 465 = 807342+465=807,每個結點都包含一個數字,并且數字按位逆序存儲。
R
??來自于紐約時報的一則新聞,https://www.nytimes.com/2019/05/01/us/yusi-zhao-stanford-university.html,《Chinese family reporly paid $6.5 million for spot at Stanford》,文中女主人公趙思雨,其家庭為斯坦福入學名額斥資650萬美元。
T
??這段時間課上學習的類的繼承和派生,學的有些自閉,以下是我在這段時間的學習筆記。雖然不完善,但在慢慢補充。
http://www.lxweimin.com/p/ae37fe3fe73e
S
??最近在學習機器學習的過程中,為了實現相關算法,特地安裝了tensorflow的gpu版本,相關的官方文檔如下
http://adventuresinmachinelearning.com/python-tensorflow-tutorial/
限于英文水平,我在安裝的過程中并沒有過多參考官方文檔中的安裝教程,在此向大家推薦一篇我在網絡上找到覺得比較靠譜的,比較好實現的tensorflow的安裝教程。
https://blog.csdn.net/hustqb/article/details/80222055