首页 > 其他分享 >数据结构 玩转数据结构 5-2 测试自己的Leetcode链表代码

数据结构 玩转数据结构 5-2 测试自己的Leetcode链表代码

时间:2022-11-01 07:44:16浏览次数:109  
标签:ListNode val int next 链表 public 数据结构 preNode Leetcode

0    课程地址

https://coding.imooc.com/lesson/207.html#mid=13434

 

1    重点关注

1.1    leetCode的代码  如何本地调试

详见3.1

 

1.2    遗忘的点

链表增加元素时,是根据前一个节点判断的

 

 

2    课程内容


3    Coding

3.1    leetCode的代码(上节的502问题)  如何本地调试

  •  链表类本地:
package com.company;
public class ListNode {
      int val;
      ListNode next;
      ListNode() {}
      ListNode(int val) { this.val = val; }
      ListNode(int val, ListNode next) { this.val = val; this.next = next; }

      /**
       * 传入数组的有参构造函数  增加,是用前一个元素去增 不要用当前元素,重点
       * @author weidoudou
       * @date 2022/11/1 7:08
       * @param vals 请添加参数描述
       * @return null
       **/
      public ListNode(int[] vals){
            if(vals.length==0||vals==null){
                  throw new IllegalArgumentException("传入的数组不能为空");
            }

            this.val = vals[0];
            ListNode pre = this;
            for(int i = 1;i<vals.length;i++){
                  pre.next = new ListNode(vals[i]);
                  pre = pre.next;
            }
      }


      @Override
      public String toString() {
            final StringBuffer sb = new StringBuffer("");
            ListNode cur = this;
            while (cur!=null){
                  sb.append(cur.val).append("->");
                  cur = cur.next;
            }
            sb.append("Null");
            return sb.toString();
      }
}

 

  • 测试类:
package com.company;

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode removeElements(ListNode head, int val) {
        //定义虚拟头节点
        ListNode dummyHead = new ListNode();
        dummyHead.next = head;

        ListNode preNode = dummyHead;
        //1?    判断非空
        while(preNode.next!=null){

            if(preNode.next.val==val){
                ListNode delNode = preNode.next;
                preNode.next = delNode.next;
                delNode.next = null;
            }else{
                preNode = preNode.next;
            }

        }

        return dummyHead.next;
    }

    public static void main(String[] args) {
        int[] nums = {1,2,6,3,4,5,6};
        ListNode listNode = new ListNode(nums);
        System.out.println(listNode);


        ListNode res =  new Solution().removeElements(listNode,6);
        System.out.println(res);
    }
}

 

 

  • 测试结果:
1->2->6->3->4->5->6->Null
1->2->3->4->5->Null

Process finished with exit code 0

 

标签:ListNode,val,int,next,链表,public,数据结构,preNode,Leetcode
From: https://www.cnblogs.com/1446358788-qq/p/16846497.html

相关文章

  • [LeetCode] 1293. Shortest Path in a Grid with Obstacles Elimination
    Youaregivenan mxn integermatrix grid whereeachcelliseither 0 (empty)or 1 (obstacle).Youcanmoveup,down,left,orrightfromandtoanem......
  • 循环链表解决约瑟夫问题
    定义人类结构体publicclasspeople{intnum;peoplenext;publicpeople(intnum){this.num=num;}publicintgetNum(){......
  • LeetCode刷题记录.Day2
    移除元素题目链接 27.移除元素-力扣(LeetCode)classSolution{public:intremoveElement(vector<int>&nums,intval){intslotIndex=0;......
  • 数据结构中的七大排序算法—1
        今天我们来讲解有关数据结构的知识,首先我们讲解数据结构的语言是C语言,使用的是vs2013编译器进行测试代码。    在我们的生活中,很多东西都是有排序的,就比......
  • 队列与栈——数据结构与算法学习
    栈与队列队列队列的定义其实队列这个数据结构就是计算机模拟现实生活中的体现,就跟一个人排队一样,先排上就先走,拿最新很火的梨泰院的例子来说:走在前面的人就应该尽快出去......
  • [Leetcode Weekly Contest]317
    链接:LeetCode[Leetcode]2455.可被三整除的偶数的平均值给你一个由正整数组成的整数数组nums,返回其中可被3整除的所有偶数的平均值。注意:n个元素的平均值等于n个......
  • Leetcode第481题:神奇字符串(Magical string)
    解题思路根据题意,我们可以把ss看成是由「11组」和「22组」交替组成的,重点在于每组内的数字是一个还是两个,这可以从ss自身上知道。构造到ss的长度达到nn时停止......
  • leetcode-191-easy
    NumberOf1BitsWriteafunctionthattakesanunsignedintegerandreturnsthenumberof'1'bitsithas(alsoknownastheHammingweight).Note:Notetha......
  • leetcode-278-easy
    FirstBadVersionYouareaproductmanagerandcurrentlyleadingateamtodevelopanewproduct.Unfortunately,thelatestversionofyourproductfailsthe......
  • leetcode-268-easy
    MissingNumberGivenanarraynumscontainingndistinctnumbersintherange[0,n],returntheonlynumberintherangethatismissingfromthearray.Exam......