BM11 链表相加(二)
This commit is contained in:
parent
2415c89cb9
commit
d1df567f77
@ -0,0 +1,60 @@
|
||||
package com.huangge1199.nowcoder.bm.BM11;
|
||||
|
||||
import com.huangge1199.nowcoder.common.ListNode;
|
||||
|
||||
/**
|
||||
* @author hyy
|
||||
* @Classname Solution
|
||||
* @Description BM11 链表相加(二)
|
||||
* @Date 2022/8/11 10:12
|
||||
*/
|
||||
public class Solution {
|
||||
/**
|
||||
*
|
||||
* @param head1 ListNode类
|
||||
* @param head2 ListNode类
|
||||
* @return ListNode类
|
||||
*/
|
||||
public ListNode addInList (ListNode head1, ListNode head2) {
|
||||
// write code here
|
||||
head1 = revert(head1);
|
||||
head2 = revert(head2);
|
||||
ListNode head = new ListNode(0);
|
||||
ListNode node = head;
|
||||
boolean bl = false;
|
||||
while (head1 != null || head2 != null || bl) {
|
||||
int sum = (head1 == null ? 0 : head1.val)
|
||||
+ (head2 == null ? 0 : head2.val)
|
||||
+ (bl ? 1 : 0);
|
||||
bl = sum >= 10;
|
||||
sum %= 10;
|
||||
node.next = new ListNode(sum);
|
||||
node = node.next;
|
||||
if (head1 != null) {
|
||||
head1 = head1.next;
|
||||
}
|
||||
if (head2 != null) {
|
||||
head2 = head2.next;
|
||||
}
|
||||
}
|
||||
if (head1 == null && head2 != null) {
|
||||
node.next = head2;
|
||||
} else if (head1 != null && head2 == null) {
|
||||
node.next = head1;
|
||||
}
|
||||
head = head.next;
|
||||
return revert(head);
|
||||
}
|
||||
|
||||
private ListNode revert(ListNode head) {
|
||||
ListNode cur = head;
|
||||
ListNode pre = null;
|
||||
while (cur != null) {
|
||||
ListNode tmp = cur.next;
|
||||
cur.next = pre;
|
||||
pre = cur;
|
||||
cur = tmp;
|
||||
}
|
||||
return pre;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user