Leetnode学习日记@TOC

Day-1 T2 两数相加

题目如下:
Leetcode练习日记 Day-1

先定义一个类来储存结点。既要存值,int型;又要能够指向下一个结点,即也为这个结点的类型。代码如下:

    public class Listnode{
        public int val;
        public Listnode next;

        public Listnode(int i)
        {this.val=i;}

        public int val()
        {return val;}
    }

然后来写这两个结点相加的函数。其实和一般的百位数相加的做法很像,需要一个进位项。然后这边我们是一个一个读入的,并且根据题意需要判断下一个结点是否会为空。 So…代码如下:

public Listnode add2Num(Listnode l1, Listnode l2){
        Listnode DHead=new Listnode(0);
        Listnode p=l1, q=l2, curr=DHead;
        int carry=0;
        while(p!=null || q!= null) {
            int x = (p!=null)?p.val:0;
            int y = (q!=null)?q.val:0;
            int sum = carry + x+y;
            carry = sum/10;
            curr.next=new Listnode(sum%10);
            curr= curr.next;
            if(p!=null) p=p.next;
            if(q!=null) q=q.next;
        }
        if(carry>0) {
        curr.next=new Listnode(carry);
       } 
       return DHead.next;
    }

最后来写主函数,因为是一个嵌套类,所以我一开始在给赋值的时候迷茫了很久…所以要声明这个类,然后再 对象.new 嵌套类 ,而且是一个一个读的,感觉上有点像动态数组。
这边链接一个百度上搜到的Java嵌套类

    public static void main(String[] args) {
        leetcode x = new leetcode();
        Listnode a = x.new Listnode(2);
        Listnode b = x.new Listnode(3);
        Listnode c = x.new Listnode(4);
        a.next=b;
        b.next=c;
        c.next=null;

        Listnode d = x.new Listnode(5);
        Listnode e = x.new Listnode(6);
        Listnode f = x.new Listnode(7);
        d.next=e;
        e.next=f;
        f.next=null;

        Listnode re=x.add2Num(a,d);
        while(re!=null){
            System.out.print(re.val+" ");
            re=re.next;
        }
    }

最后的时候出了一点问题,比起debug…因为最近知道了一个好用的网页,叫Java visualizer,可以一步一步把你的存的各种值啊什么显示出来,更直观一些。链接在此:Java visualizer 但是可能需要翻墙…最近这就比较麻烦

emmm…第一天就先到这儿了,欢迎各位大佬前来指正。我的数据结构学的太垃圾了…就有点迷迷糊糊的

相关文章:

  • 2022-12-23
  • 2021-07-19
  • 2021-04-02
  • 2022-01-07
  • 2021-09-10
  • 2021-12-22
  • 2021-10-15
  • 2021-09-25
猜你喜欢
  • 2021-04-05
  • 2021-09-28
  • 2022-01-03
  • 2021-09-13
  • 2021-10-14
  • 2021-05-10
  • 2022-01-13
相关资源
相似解决方案