zoukankan      html  css  js  c++  java
  • LeetCode

    _002_AddTwoNumbers

    要点

    先判断传入节点是否有一个为空,有的话直接返回另一个节点。

    在传入节点都非空情况下,定义一个哑节点,可以有效防止下一个节点为 null,可以先创建好节点,再将指针移动,如此处:

    cur.next = new ListNode(sum % 10);
    cur = cur.next;
    

    需要注意使用自定义指针来代替移动传入的指针,这样就不破坏原来传入的结构了。最终还要注意判断是否 sum == 1

    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        if (l1 == null) return l2;
        if (l2 == null) return l1;
        
        int sum = 0;
        ListNode dummy = new ListNode(0); //定义一个节点,值为0
    
        ListNode p1 = l1;
        ListNode p2 = l2;
        ListNode cur = dummy;
    
        while (p1 != null || p2 != null) {
            if (p1 != null) {
                sum += p1.val;
                p1 = p1.next;
            }
            if (p2 != null) {
                sum += p2.val;
                p2 = p2.next;
            }
            cur.next = new ListNode(sum % 10);
            sum /= 10;
            cur = cur.next;
        }
        if (sum == 1) {
            cur.next = new ListNode(1);
        }
        return dummy.next;
    }
    
  • 相关阅读:
    hotel管理
    MySQL数据库的学习
    搭建纸飞机
    二维码
    Linux 的安装
    AngularJS学习笔记
    css3部分知识点
    如何处理数据
    jq跨域在127.0.0.1:8020上的写法
    AJAX请求方式
  • 原文地址:https://www.cnblogs.com/chenxianbin/p/11995617.html
Copyright © 2011-2022 走看看