题解 | #从单向链表中删除指定值的节点#

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

https://www.nowcoder.com/practice/f96cd47e812842269058d483a11ced4f

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        scanner.useDelimiter("\n");
        while (scanner.hasNext()) {
            String P = scanner.next();
            String[] S = P.split(" ");
            String delete = S[S.length-1];
            String length = S[0];
            StringBuilder head = new StringBuilder(" " + S[1] + " ");

            int xia = 3;
            while (xia<S.length-1) {
                String  c = S[xia];
                String d = S[xia-1];
                int index = head.indexOf(" "+c+" ");
                if (index==-1) head.append(d+" ");
                else {
                    head.insert(index+c.length()+2, d+" ");
                }
                xia+=2;
            }
            String s = head.toString().replaceAll(" " + delete + " ", " ");
            System.out.println(s.charAt(0)==' '?s.substring(1):s);
        }
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务