从单向链表中删除指定值的节点题解(Java)

从单向链表中删除指定值的节点

http://www.nowcoder.com/questionTerminal/f96cd47e812842269058d483a11ced4f

提交代码(Java):
注意在最后输出结果之后要再输出一个空行,不然过不了。

import java.util.ArrayList;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        while (input.hasNext()){
            int n = input.nextInt();
            int head = input.nextInt();
            ArrayList<Integer> list = new ArrayList<>();
            list.add(head);
            for (int i = 0; i < n - 1; i++) {
                int b = input.nextInt();
                int a = input.nextInt();
                if(!list.contains(a)){
                    list.add(a);
                    list.add(b);
                }
                for (int j = 0; j < list.size(); j++) {
                    if(list.get(j)==a){
                        list.add(j+1,b);
                    }
                }
            }
            int x = input.nextInt();
            for (int i = 0; i < list.size(); i++) {
                if(list.get(i)==x){
                    list.remove(i);
                }
            }
            for (int i = 0; i < list.size(); i++) {
                System.out.print(list.get(i)+" ");
            }
            System.out.println(); //要加这一句,不然过不了
        }
    }
}
全部评论

相关推荐

评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务