1. 程式人生 > 其它 >兩數相加 II 刪除連結串列中的節點 奇偶連結串列

兩數相加 II 刪除連結串列中的節點 奇偶連結串列

445. 兩數相加 II

妙麻了
Deque d1 = new ArrayDeque<>();
Deque d2 = new ArrayDeque<>();
while(l1 != null) {
d1.addLast(l1.val);
l1 = l1.next;
}
while(l2 != null) {
d2.addLast(l2.val);
l2 = l2.next;
}
int carry = 0;熟悉的味道
ListNode head = null;
while(!d1.isEmpty() || !d2.isEmpty() || carry > 0) {熟悉的配方


int sum = carry;
sum += d1.isEmpty() ? 0 : d1.removeLast();
sum += d2.isEmpty() ? 0 : d2.removeLast();
ListNode node = new ListNode(sum % 10);
node.next = head;
head = node;
carry = sum / 10;

    }
    return head;

237. 刪除連結串列中的節點

成為他,取代他
node.val = node.next.val;
node.next = node.next.next;


328. 奇偶連結串列

注意是,位置序號的奇偶
if(head == null) return null;
ListNode odd = head;
ListNode evenHead = head.next;
ListNode even = evenHead;
while(even != null && even.next != null) {先後順序也得注意
odd.next = even.next;
odd = odd.next;
even.next = odd.next;
even = even.next;
}
odd.next = evenHead;別忘了組合起來
return head;