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进行设置就可以了

Share

社交数据那么多,看Facebook如何用贝叶斯实时优化后端

posted @ 2018-10-22 09:59  蓝幸运  阅读(98)  评论(0编辑  收藏  举报