链表
问:
- 反转单向链表
- 两个有序链表求公共部分
解:
- 用temp变量保存当前节点的next节点,当前节点的next指向上一个节点。当前节点变量指向temp保存的next节点
function reverseLinkedList(node) {
let current = node
let pre = null
let temp = null
while (current) {
temp = current.next
current.next = pre
pre = current
current = temp
}
}
function getPublicPart(list1, list2) {
const res = []
let node1 = list1.head
let node2 = list2.head
while (node1 && node2) {
if (node1.value === node2.value) {
res.push(node1.value)
node1 = node1.next;
node2 = node2.next
}
if (node1.value < node2.value) {
node1 = node1.next
}
if (node1 > node2.value) {
node2 = node2.next
}
}
}