📜  Javascript 程序检查两个链表是否相同(1)

📅  最后修改于: 2023-12-03 15:01:45.722000             🧑  作者: Mango

Javascript 程序检查两个链表是否相同

在Javascript中,检查两个链表是否相同可以按照以下步骤完成:

1. 实现链表数据结构
class ListNode {
  constructor(val) {
    this.val = val;
    this.next = null;
  }
}
2. 构建两个链表

构建两个链表,每个链表包含若干数量的节点。以下是示例链表:

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);
3. 比较两个链表是否相同

通过遍历每个链表的节点,比较它们的值是否相等。如果有任何差异,则说明这两个链表不相同。以下是实现该方法的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,因为list1list2包含相同数量的节点,每个节点具有相同的值,并且每个节点处于相同的位置。

总结

以上是检查两个链表是否相同的Javascript程序。请注意,该程序假定两个链表的长度相同。如果两个链表包含不同数量的节点,则需要进一步处理。