今天做了1,2题。
1题是用hashmap降低时间复杂度的问题。
2.是个linklist的问题:
里面涉及两个问题,关于类的对象,变量的问题。类的对象是类的一个引用,可以改变对象的引用,但是类的值在类对象更改类的变量时会发生改变。
对于同一个类的两个引用A,B。A改变变量值会导致B的变量值也改变,但是若是改变了A的引用,即把引用C赋值给A,那么B不受影响。
public ListNode addTwoNumbers(ListNode l1, ListNode l2) { int carry = 0; ListNode p, dummy = new ListNode(0); p = dummy; while (l1 != null || l2 != null || carry != 0) { if (l1 != null) { carry += l1.val; l1 = l1.next; } if (l2 != null) { carry += l2.val; l2 = l2.next; } p.next = new ListNode(carry%10); carry /= 10; p = p.next; } return dummy.next; }
和而对于变量:public class Solution { int carry = 0; ListNode tmpa = new ListNode(12); ListNode ans = tmpa; public ListNode addTwoNumbers(ListNode l1, ListNode l2) { while(l1 != null||l2!=null||carry!=0){ if(l1!=null){ carry+=l1.val; l1=l1.next; } if(l2!=null){ carry+=l2.val; l2=l2.next; } tmpa.next = new ListNode(carry%10); carry/=10; tmpa = tmpa.next; } return ans.next; } }
public static void main(String[] arg){ Tmp1 tmp1 = new Tmp1(1); Tmp1 tmp2 = tmp1; tmp1 = next; tmp2.a = 2; // System.out.println(tmp1.a); System.out.println(tmp2.a); }