java学习debug笔记——List

  • Post author:
  • Post category:java


java学习debug笔记——List

当有好几个if判断时候,记得一定要return出去。

避免出现满足多个条件情况

例如该题:单链表删除对应索引的结点

思路:分头尾、中间三种情况讨论,虽然前两种情况若不满足就不会进入while循环,但是避免产生错误,还是要用return返回,结束该方法。

public boolean addIndex(String str,int index){
        //健壮性
        if (index<0 || index>size){
            throw new RuntimeException("this index is illeagal");
        }
        //插在头部
        if (index == 0 ){
            if (top == null|| size == 0){//链表为空
                top = new Node(str,null);
            }else{
                Node target = new Node(str,top);
            }
            size++;
            return true;
        }
        //插在尾部
        if (index == size){
            Node p = top;//定位
            while (p.next!=null){
                p = p.next;
            }
            p.next = new Node(str,null);
            size++;
            return true;
        }
        //插在中间
        Node p = top.next;//定位
        Node q = top;//记录前驱结点
        int count = 1;
        while(count!=index){
            p = p.next;
            q = q.next;
            count++;
        }
        Node newNode = new Node(str,p);
        q.next = newNode;
        size++;
        return true;
    }



版权声明:本文为qq_45480682原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。