자바 ListNode 링크 구 화
5506 단어 데이터 구조 와 알고리즘
너 는 링크 로 대표 하 는 두 개의 정수 가 있 는데,그 중에서 각 노드 는 하나의 숫자 를 포함한다.디지털 저장 소 는 원래 정수 에서 반대 되 는 순서에 따라 첫 번 째 숫자 를 링크 의 시작 에 두 었 다.하나의 함 수 를 써 서 두 정 수 를 더 하고 링크 형식 으로 합 쳐 줍 니 다.
본보기
링크 3->1->5->null 과 5->9->2->null 을 제시 하고 8->0->8->null 분석 을 되 돌려 줍 니 다.
package leetcode;
class ListNode{
int val;
ListNode nextNode;
ListNode(int val){
this.val=val;
this.nextNode=null;
}
}
public class n5ListNodePlus {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a=new int[]{1,5,6};
int[] b=new int[]{4,8,2};
ListNode alist=buildListNode( a);
ListNode blist=buildListNode( b);
ListNode listNode;
listNode=alist;
while(listNode!=null){
System.out.print(listNode.val);
listNode=listNode.nextNode;
}
System.out.println();
listNode=blist;
while(listNode!=null){
System.out.print(listNode.val);
listNode=listNode.nextNode;
}
System.out.println();
listNode=addList(alist,blist);
while(listNode!=null){
System.out.print(listNode.val);
listNode=listNode.nextNode;
}
}
public static ListNode addList(ListNode list1,ListNode list2){
ListNode pre=null;
ListNode last=null,newNode=null;
ListNode result=null;
int val=0;
int carry=0;
while(list1!=null||list2!=null){
val=((list1==null?0:list1.val)+(list2==null?0:list2.val)+carry)%10;
carry=((list1==null?0:list1.val)+(list2==null?0:list2.val)+carry)/10;
list1=list1==null?null:list1.nextNode;
list2=list2==null?null:list2.nextNode;
newNode=new ListNode(val);
if(pre==null){
pre=newNode;
last=newNode;
}else{
last.nextNode=newNode;
last=newNode;
}
}
if(carry>0){
newNode=new ListNode(carry);
last.nextNode=newNode;
last=newNode;
}
return pre;
}
public static ListNode buildListNode(int [] list){
ListNode first=null,last=null,newNode;
for(int i=0;inew ListNode(list[i]);
if(first==null){
first=newNode;
last=newNode;
}else{
last.nextNode=newNode;
last=newNode;
}
}
return first;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[JAVA] 배열 회전 출력요소 가 출력 을 시작 하 는 위치 에 주의 하 십시오. 모두 몇 라운드 의 수출 이 있 습 니까? n/2 + 1 매 라 운 드 는 상, 우, 하, 좌 로 나 뉜 다. 각 방향의 시작 위치 와 좌표 의 관 계 를 구...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.