题目:
寻找链表的中间结点
题目描述:
给定一个单链表 L,请编写程序输出 L 中间结点保存的数据。如果有两个中间结点,则输出第二个中间结点保存的数据。例如:给定L为 1-7一5, 则输出应该为 7; 给定L为1-2-3一4,则输出应该为3
输入描述:
每个输入包含 1 个测试用例。每个测试用例第 1行给出链表首结点的地址、结点总个数正整数N(<=105)。结点的地址是 5 位非负整数,NULL 地址用-1 表示。 接下来有 N 行,每行格式为: Address Data Next 其中Address 是结点地址,Data 是该结点保存的整数数据(0<=Data<=108),Next 是下一结点的地址。 输出描述: 对每个测试用例,在一行中输出L 中间结点保存的数据。如果有两个中间结点,则输出第二个中间结点保存的数据。 补充说明: 已确保输入的结点所构成的链表L不会成环,但会存在部分输入结点不属于链表L情况。 示例1 输入: 00100 4 00000 4 -1 00100 1 12309 33218 3 00000 12309 2 33218 输出: 3
public class Demo14 {
public static void main(String[] args) {
// 2、再把数据存到Node里,用Map<String, Node>存,String=address,后面通过链表LinkedList方便计算出中间节点
Scanner sc = new Scanner(System.in);
String[] mainArr = sc.nextLine().split(" ");
int n = Integer.