//两个单链表生成相加链表
//利用栈结构
public class Node{
public int value;
public Node next;
public Node(int data){
this.data=data;
}
}
public Node addList(Node head1,Node head2){
Stack<Integer> s1=new Stack<Integer>();
Stack<Integer> s2=new Stack<Integer>();
while(head1!=null){
s1.push(head1.value);
head1=head1.next;
}
while(head2!=null){
s2.push(head2.value);
head2=head2.next;
}
int ca=0;
int n1=0;
int n2=0;
int n=0;
Node node=null;
Node pre=null;
while(!s1.isEmpty()||!s2.isEmpty()){
n1=s1.isEmpty()?0:s1.pop();
n2=s2.isEmpty()?0:s2.pop();
n=n1+n2+ca;
pre=node;
node=new Node(n%10);
node.next=pre;
ca=n/10;
}
if(ca==1){
pre=node;
node=new Node(1);
node.next=pre;
}
return node;
}
链表-两个单链表生成相加链表
猜你喜欢
转载自blog.csdn.net/weixin_42146769/article/details/88386915
今日推荐
周排行