每日算法(八)-java链表相加

每日算法(八)-java链表相加

链表的反转和数组转化成链表的方法在上一节中有相应代码,这里就只显示链表相加的代码
输入两个链表l1,l2,顺序遍历取链表里的数,分别进行相加取模,如果相加为10则进1

1.创建链表

public class ListNode {
	private int data;
	ListNode next;

	public ListNode(int data){
	  super();
	  this.data=data;
	}

2.链表相加

public static ListNode sumNumber(ListNode l1,ListNode l2){
		ListNode list=new ListNode(0);
		ListNode p =new ListNode(0);
		p=list;
		int sum=0;
		while(l1!=null||l2!=null||sum!=0){
			if(l1!=null){
				sum+=l1.data;
				l1=l1.next;
			}
			if(l2!=null){
				sum+=l2.data;
				l2=l2.next;
			}
			p.next=new ListNode(sum%10);
			sum=sum/10;
			p=p.next;
		}
		return list.next;
	}

猜你喜欢

转载自blog.csdn.net/Tong_Nan/article/details/89489200