• 《LeetCode力扣练习》代码随想录——链表(设计链表---Java)


    《LeetCode力扣练习》代码随想录——链表(设计链表—Java)



    刷题思路来源于 代码随想录

    707. 设计链表
    • 虚拟头结点
      class MyLinkedList {
      
          class ListNode{
      
              int val;
              ListNode next;
      
              ListNode(){
      
              }
      
              ListNode(int val){
                  this.val=val;
              }
      
              ListNode(int val,ListNode next){
                  this.val=val;
                  this.next=next;
              }
      
          }
      
          private int size;
          private ListNode dummyHead;
      
          public MyLinkedList() {
      
              this.size=0;
              this.dummyHead=new ListNode(0,null);
      
          }
          
          public int get(int index) {
      
              if(this.size==0||index>=this.size){
                  return -1;
              }
      
              ListNode current=this.dummyHead.next;
      
              while(index>0){
                  current=current.next;
                  index--;
              }
      
              return current.val;
      
          }
          
          public void addAtHead(int val) {
      
              addAtIndex(0,val);
              return;
      
          }
          
          public void addAtTail(int val) {
      
              addAtIndex(this.size,val);
              return;
      
          }
          
          public void addAtIndex(int index, int val) {
      
              if(index>this.size){
                  return;
              }
      
              ListNode current=this.dummyHead;
      
              while(index>0){
                  current=current.next;
                  index--;
              }
      
              ListNode newNode=new ListNode(val,current.next);
              current.next=newNode;
              this.size++;
      
              return;
      
          }
          
          public void deleteAtIndex(int index) {
      
              if(this.size==0||index>=this.size){
                  return;
              }
      
              ListNode current=this.dummyHead;
      
              while(index>0){
                  current=current.next;
                  index--;
              }
      
              current.next=current.next.next;
              this.size--;
      
              return;
      
          }
      }
      
      /**
       * Your MyLinkedList object will be instantiated and called as such:
       * MyLinkedList obj = new MyLinkedList();
       * int param_1 = obj.get(index);
       * obj.addAtHead(val);
       * obj.addAtTail(val);
       * obj.addAtIndex(index,val);
       * obj.deleteAtIndex(index);
       */
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
      • 25
      • 26
      • 27
      • 28
      • 29
      • 30
      • 31
      • 32
      • 33
      • 34
      • 35
      • 36
      • 37
      • 38
      • 39
      • 40
      • 41
      • 42
      • 43
      • 44
      • 45
      • 46
      • 47
      • 48
      • 49
      • 50
      • 51
      • 52
      • 53
      • 54
      • 55
      • 56
      • 57
      • 58
      • 59
      • 60
      • 61
      • 62
      • 63
      • 64
      • 65
      • 66
      • 67
      • 68
      • 69
      • 70
      • 71
      • 72
      • 73
      • 74
      • 75
      • 76
      • 77
      • 78
      • 79
      • 80
      • 81
      • 82
      • 83
      • 84
      • 85
      • 86
      • 87
      • 88
      • 89
      • 90
      • 91
      • 92
      • 93
      • 94
      • 95
      • 96
      • 97
      • 98
      • 99
      • 100
      • 101
      • 102
      • 103
      • 104
      • 105
      • 106
      • 107
      • 108
      • 109
      • 110
      • 111
      • 112
      • 113
      • 114

  • 相关阅读:
    C++11(第一篇)【C/C++复习版】
    Apache Flink如何设置并行度
    C++——stack和queue
    Spring Boot + Vue的网上商城之购物车实现
    数据分析-利用gpt进行电商平台用户细分专题分析(RFM模型)
    Servlet快速筑基
    【html5期末大作业】基于HTML+CSS+JavaScript管理系统页面模板
    【C语言】柔性数组
    Latex内容超出页面 行 的长度
    Mysql Max函数失效解决方案
  • 原文地址:https://blog.csdn.net/XRT_knives/article/details/134444581