2018-09-25-weekly
Algorithm
-
What 给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。
-
How 两个链表长度相同的部分,对位相加,注意需要还需要加上上一次相加的进位值。得到结果后,将个位数存入结果链表中,十位数等待下一次相加使用。
然后对较长的链表进行相同操作,只不过只跟进位值相加。 -
Key Codes
class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode m = l1;
ListNode n = l2;
ListNode res=new ListNode(0);
ListNode temp = res;
int add=0;
boolean flag1=true;
boolean flag2=true;
while( flag1 && flag2 ){
temp.next = new ListNode((m.val+n.val+add)%10);
add=(m.val+n.val+add)/10;
temp=temp.next;
m = m.next;
n= n.next;
if(m == null){
flag1 = false;
}
if(n == null){
flag2 = false;
}
}
if(!flag1 && !flag2 && add > 0){
temp.next = new ListNode(add);
temp= temp.next;
}
if(flag1){
while (m != null){
temp.next = new ListNode((m.val + add)%10);
add = (m.val + add) /10;
temp = temp.next;
m = m.next;
}
if(add>0){
temp.next = new ListNode(add);
}
}
if(flag2){
while (n != null){
temp.next = new ListNode((n.val + add)%10);
add = (n.val + add) /10;
temp = temp.next;
n = n.next;
}
if(add>0){
temp.next = new ListNode(add);
}
}
return res.next;
}
}
Review
Tip
- What plsql经常要查看表的描述(describe),一般右键该表然后选择describle,设置完快捷键就不用每次都右键该表然后选择describle了
- How步骤如下:
- 菜单Tools --> Preferences -->User Interface--> Key Configuration进行设置就可以了