给定单向链表的最后一个节点,我们如何找到头节点
Given last node of singly linked list, how do we find head node
给定单链表的最后一个节点,我们如何找到头节点?
假设给定 JSON:
{
"id": "A",
"next": "B"
},
{
"id": "B",
"next": "C"
}
{
"id": "C",
"next": "D"
}
{
"id": "D",
"next": 空
}
现在假设上面没有排序,我们需要找出 HEAD 元素 'A'。
您可以使用 Array.prototype.find 来查找 id
不是列表中另一个对象的值 next
的元素。假设一个有效的非空单向链表必须恰好有一个元素满足该条件(头部)。如果列表为空,head
将被分配值 undefined
.
const json = '[{"id": "A", "next": "B"}, {"id": "B", "next": "C"},{"id": "C", "next": "D"},{"id": "D", "next": null}]';
const objects = JSON.parse(json);
const head = objects.find( a => ! objects.find( b => a.id === b.next ) );
console.log( head );
给定单链表的最后一个节点,我们如何找到头节点?
假设给定 JSON:
{ "id": "A", "next": "B" }, { "id": "B", "next": "C" } { "id": "C", "next": "D" } { "id": "D", "next": 空 }
现在假设上面没有排序,我们需要找出 HEAD 元素 'A'。
您可以使用 Array.prototype.find 来查找 id
不是列表中另一个对象的值 next
的元素。假设一个有效的非空单向链表必须恰好有一个元素满足该条件(头部)。如果列表为空,head
将被分配值 undefined
.
const json = '[{"id": "A", "next": "B"}, {"id": "B", "next": "C"},{"id": "C", "next": "D"},{"id": "D", "next": null}]';
const objects = JSON.parse(json);
const head = objects.find( a => ! objects.find( b => a.id === b.next ) );
console.log( head );