码迷,mamicode.com
首页 > 其他好文 > 详细

2.5---链表来进行加法,链式A+B(CC150)

时间:2015-12-18 00:00:48      阅读:355      评论:0      收藏:0      [点我收藏+]

标签:

这里是用了自己的方法,和书本不一样。

import java.util.HashSet;
import java.util.Set;



class ListNode{
    int val;
    ListNode next;
    ListNode(int x){
        val = x;
    }
}

public class Solution{

    public static void main(String[] args){
        ListNode head = new ListNode(3);
        head.val = 3;
        ListNode node = new ListNode(1);
        node.val = 1;
        head.next = node;
        ListNode tmp = head;
        while(tmp != null){
            System.out.println(tmp.val);
            tmp = tmp.next;
        }
        
        System.out.println("delete");
        tmp = sum(null,null);
    
        while(tmp != null){

            System.out.println(tmp.val);
            tmp = tmp.next;
        }
        
        
    }

    public static ListNode sum (ListNode head1, ListNode head2){
        if(head1 == null ) return head2;
        if(head2 == null) return head1;
        
        int n1 = 0;
        int n2 = 0;
        int sum = 0;
        int flag = 0;
        while(head1 != null){
            n1 += head1.val * Math.pow(10, flag++);
            head1 = head1.next;
        }
        flag = 0;
        while(head2 != null){
            n2 += head2.val * Math.pow(10, flag++);
            head2 = head2.next;
        }
        
        sum = n1 + n2;
        System.out.println("sum = " + sum);
        int digit = sum % 10;
        ListNode head = new ListNode(digit);
        ListNode res = head;
        sum /= 10;
        while(sum != 0){
            digit = sum % 10;
            ListNode n = new ListNode(digit);
            head.next = n;
            head = head.next;
            sum /= 10;
        }
        return res;
    }
}

 

2.5---链表来进行加法,链式A+B(CC150)

标签:

原文地址:http://www.cnblogs.com/yueyebigdata/p/5055636.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!