zoukankan      html  css  js  c++  java
  • 链表题目

    https://leetcode-cn.com/problemset/algorithms/?topicSlugs=linked-list

    首先基本上会把arr=[1,2,3] ->转为1->2->3 这样的结构

    class Node {
      constructor(item) {
        this.item = item
        this.next = null
    
      }
    }
    class linkedList {
      constructor() {
        this.head = null
        this.length = 0
    
      }
      append(item) {
        const node = new Node(item)
        let current = this.head
        let previous = null
        if (!current) this.head = node
        else {
          while (current) {
            previous = current
            current = current.next
          }
          previous.next = node
    
        }
        this.length++
      }
      toString() {
        const arr = []
        let current = this.head
        if (!current) return ''
        while (current) {
          arr.push(current.item)
          current = current.next
    
        }
        return arr.join('->')
      }
    }
    View Code
    const arr = [1, 1, 2]
    const link = new linkedList()
    arr.forEach(item => link.append(item))
    console.log(link.toString()); //1->1->2

    至此就完成了数组转链表的操作

    使用 :link.head = deleteDuplicates(link.head) deleteDuplicates是一个举例子 就是操作函数了
     
     

    删除链表中的节点

    function deleteNode(node) {
      let current = link.head
      let previous = null
      while (current) {
        if (current.item === node) break
        previous = current
        current = current.next
      }
      previous.next = current.next
      console.log(link.toString());
    
    
    }
    deleteNode(node)
    View Code
  • 相关阅读:
    audio_音频
    调试C++NPv2_TP_Reactor_Log_Server程序
    2019 SDN大作业(咕咕咕队)
    第09组 Beta版本演示
    第09组 Beta冲刺(4/4)
    第09组 Beta冲刺(3/4)
    2019 SDN上机第7次作业
    第09组 Beta冲刺(2/4)
    第09组 Beta冲刺(1/4)
    2019 SDN上机第6次作业
  • 原文地址:https://www.cnblogs.com/xiaoliziaaa/p/14095829.html
Copyright © 2011-2022 走看看