LeetCode 热题100道-Day01

88 阅读1分钟

LeetCode 热题100道-Day01

两数之和

class Solution {
   public int[] twoSum(int[] nums, int target) {
       int n = nums.length;
           for (int i = 0; i < n; i++) {
               for (int j = i + 1; j < n; j++) {
               if (nums[i] + nums[j] == target) {
               return new int[]{i, j}; 
                   } 
             }
       } 
   return new int[0]; 
   } 
}

两数想加

class Solution {
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        ListNode head = null, tail = null; 
            int carry = 0;
            while (l1 != null || l2 != null) {
    int n1 = l1 != null ? l1.val : 0;
    int n2 = l2 != null ? l2.val : 0;
    int sum = n1 + n2 + carry;
        if (head == null) {
            head = tail = new ListNode(sum % 10); 
        } else {
            tail.next = new ListNode(sum % 10);
            tail = tail.next;
                } carry = sum / 10; if (l1 != null) {
                l1 = l1.next; 
                } if (l2 != null) {
            l2 = l2.next; 
            } 
            } if (carry > 0) { tail.next = new ListNode(carry); 
           } return head; 
        }
   }