Algorithm
What 链表形式两数相加
How 新建两个链表,其中一个链表做头指向另一个链表,然后另一个链表开始做l1,l2的相加,进位作为下个next的值,当l1,l2都空时停止,返回第一个链表;
- Key Codes
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode a = new ListNode(0);
ListNode b = new ListNode(0);
b.next = a;
while(true){
if(l1!=null){
a.val+=l1.val;
l1=l1.next;
}
if(l2!=null){
a.val+=l2.val;
l2=l2.next;
}
a.next = new ListNode(a.val/10);
a.val = a.val%10;
if(l1==null&&l2==null){
if(a.next.val==0){
a.next = null;
}
break;
}
a = a.next;
}
return b.next;
}
}
Review
What 数据是新时代的石油。如何采集大量网民的上网数据?
How 做一个VPN 软件,然后做广告让很多人用,从此开启上帝视角,收集用户数据然后高价卖出。
本文扒皮了NordVPN,一个各种VPN榜都排一二名的VPN,其背后有大型数据挖掘公司支持,砸钱买假好评,收买评价网站,买电视广告。
一个VPN软件能在一个月内花50万美元投放电视广告,哪来的钱?为什么要花这么多?这背后是有多暴利啊?
Tip
What StringBuilder与 StringBuffer区别
How StringBuffer:线程安全的;适合多线程操作字符串缓冲区下操作大量数据;
StringBuilder:线程非安全的;适合单线程操作字符串缓冲区下操作大量数据;速度比StringBuffer快;
一般使用StringBuilder.Share