📅  最后修改于: 2023-12-03 15:01:45.722000             🧑  作者: Mango
在Javascript中,检查两个链表是否相同可以按照以下步骤完成:
class ListNode {
constructor(val) {
this.val = val;
this.next = null;
}
}
构建两个链表,每个链表包含若干数量的节点。以下是示例链表:
const list1 = new ListNode(1);
list1.next = new ListNode(2);
list1.next.next = new ListNode(3);
list1.next.next.next = new ListNode(4);
list1.next.next.next.next = new ListNode(5);
const list2 = new ListNode(1);
list2.next = new ListNode(2);
list2.next.next = new ListNode(3);
list2.next.next.next = new ListNode(4);
list2.next.next.next.next = new ListNode(5);
通过遍历每个链表的节点,比较它们的值是否相等。如果有任何差异,则说明这两个链表不相同。以下是实现该方法的Javascript代码:
function isSameList(list1, list2) {
while(list1 && list2) {
if(list1.val !== list2.val) {
return false;
}
list1 = list1.next;
list2 = list2.next;
}
return list1 === list2;
}
以上代码将返回true
,因为list1
和list2
包含相同数量的节点,每个节点具有相同的值,并且每个节点处于相同的位置。
以上是检查两个链表是否相同的Javascript程序。请注意,该程序假定两个链表的长度相同。如果两个链表包含不同数量的节点,则需要进一步处理。