• java——删除链表中等于给定值的所有元素


    class ListNode{
        int val ;
        ListNode next;
        public ListNode(int x) {
            val = x;
        }
        public ListNode(int[] arr) {
            if(arr == null || arr.length == 0) {
                throw new IllegalArgumentException("ARR CAN NOT BE EMPTY");
            }
            
            val = arr[0];
            //这个this是指实现这个内部类的对象
            ListNode cur = this;
            for(int i = 1 ; i < arr.length ; i ++) {
                cur.next = new ListNode(arr[i]);
                cur = cur.next;
            }
        }
        public String toString() {
            StringBuilder res = new StringBuilder();
            ListNode cur = this;
            while(cur != null) {
                res.append(cur.val + "->");
                cur = cur.next;
            }
            res.append("NULL");
            return res.toString();
        }
        
    
    }
    public class Main {
        public static void main(String[] args) {
            int[] nums = {1,2,4,3,6,4,2};
            ListNode head = new ListNode(nums);
            System.out.println(head);
            ListNode node = removeElement(head, 2);
            System.out.println(node);
        }
        //不设头节点
        public static ListNode removeElement(ListNode head, int val) {
            //删除开始部分的节点
            while(head != null && head.val == val) {
                head = head.next;
            }
            if(head == null) {
                return head;
            }
            //删除中间部分的节点
            ListNode prev = head;
            while(prev.next != null) {
                if(prev.next.val == val) {
                    prev.next = prev.next.next;
                }else {
                    prev = prev.next;
                }
            }
            return head;
        } 
    }
  • 相关阅读:
    大数据实际应用及业务架构
    Hadoop 2.x 生态系统及技术架构图
    网站推广,经验分享
    生成数据字典
    检查sql执行效率
    DBobjectsCompareScript(数据库对象比较).sql
    秒杀多线程第一篇 多线程笔试面试题汇总
    二叉树基本操作(C++)
    生成器模式Builder
    delphi接口(抄自万一)
  • 原文地址:https://www.cnblogs.com/gaoquanquan/p/9825769.html
Copyright © 2020-2023  润新知