zoukankan      html  css  js  c++  java
  • leetcode2.两数相加(链表使用,三元操作符,循环遍历)

    package newleedcode;

    /**
    * leetcode2.两数相加
    * 两链表相加,逆序存放,首位为个位
    */
    public class XLeedCode2 {
    //链表结点
    public static class ListNode{
    int val;
    ListNode next;
    ListNode(){
    next=null;
    }
    ListNode(int x){
    val=x;
    }
    }
    public ListNode addTwoNumber(ListNode l1,ListNode l2){
    //初始化结点,数据域为0
    ListNode dummyHead=new ListNode(0);
    ListNode p=l1,q=l2,car=dummyHead;
    int carry=0;
    //通过while循环遍历链表并相加
    while (p!=null||q!=null){
    //三元操作符判断数据
    int x=(p!=null)?p.val:0;
    int y=(q!=null)?q.val:0;
    int sum=carry+x+y;
    //101
    carry=sum/10;
    car.next= new ListNode(sum%10);
    //进位
    car=car.next;
    //该位不为null即继续
    if(p!=null)p=p.next;
    if(q!=null)q=q.next;
    if(carry>0){
    car.next=new ListNode(carry);
    }
    }
    return dummyHead.next;
    }

    public static void main(String args[]){
    XLeedCode2 xLeedCode2=new XLeedCode2();
    ListNode node=new ListNode(2);
    ListNode node1=new ListNode(1);
    node.next=new ListNode(9);
    node1.next=new ListNode(3);
    ListNode node3=xLeedCode2.addTwoNumber(node,node1);
    while (node3!=null){
    System.out.print(node3.val);
    node3=node3.next;
    }
    }
    }
    /**哑结点
    * Definition for singly-linked list.
    * public class ListNode {
    * int val;
    * ListNode next;
    * ListNode(int x) { val = x; }
    * }
    */
    /**LeetCode提交代码
    * class Solution {
    * public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
    * //初始化结点,数据域为0
    * ListNode dummyHead=new ListNode(0);
    * ListNode p=l1,q=l2,car=dummyHead;
    * int carry=0;
    * //通过while循环遍历链表并相加
    * while (p!=null||q!=null){
    * //三元操作符判断数据
    * int x=(p!=null)?p.val:0;
    * int y=(q!=null)?q.val:0;
    * int sum=carry+x+y;
    * //101
    * carry=sum/10;
    * car.next= new ListNode(sum%10);
    * //进位
    * car=car.next;
    * //该位不为null即继续
    * if(p!=null)p=p.next;
    * if(q!=null)q=q.next;
    * if(carry>0){
    * car.next=new ListNode(carry);
    * }
    * }
    * return dummyHead.next;
    * }
    * }
    */
  • 相关阅读:
    Oracle 19.3 RAC on Redhat 7.6 安装最佳实践
    宝宝换牙期 需要注意这几点
    人生与机会
    历届「Jolt Awards」获奖书籍
    语言包缩写
    用XMLTask操作XML
    clearcase命令(转)
    【ZT】我家宝宝不会哭分享在美国养孩子的妈妈经(必看)
    Ubuntu启动问题以及Grub Rescue修复方法
    几个远程桌面客户端
  • 原文地址:https://www.cnblogs.com/shudaixiongbokeyuan/p/13592385.html
Copyright © 2011-2022 走看看