自己写的像屎山一样的代码,实在难以入眼。学习下人家优秀的代码思想
粗看这个代码,用的是递归的思想
前面三行的意思:初始化两个链表。
第四行:把两个链表的值相加赋给sum
第五行:判断是否大于9
第六行:如果l1的下一个是NULL,再初始化一个新的链表
第七行:否就l1的值+1,因为这块十进制进1 了,这块有个巧劲,就是直接把进的1位给了它的“上一位”
第八行:第八行拿到余数和,两个链表剩下的数字去递归。
第九行:直接的递归。
这块有个有意思的点,就是在递归调用中,如果遇到那个链表为空,就给搞个零,直到两个链表都为零,才结束调用。
因为这块是递归,所以跟栈的思想一样,先调后出,这相当于反转的链表,好变态哦
这就是别人优秀的代码,学习膜拜