package com.xinheyun;
import java.util.ArrayList;
public class FindFirstNode {
public static class Node {
private Integer id;
private Integer nextId;
public Node(Integer id, Integer nextId) {
this.id = id;
this.nextId = nextId;
}
@Override
public String toString() {
return String.format("Node(id:%d; nextId:%d)", id, nextId);
}
}
public static String findFirstNode(ArrayList<Node> list){
if(null == list || list.size()==0){
return "";
}
Node headNode = list.get(0);
for(Node node:list){
if(null == node.nextId) {
headNode = node;
break;
}
}
for(Node n2:list){
if(null != n2.nextId && n2.nextId.equals(headNode.id) ){
headNode = n2;
break;
}
}
for(Node n3:list){
if(null != n3.nextId && n3.nextId.equals(headNode.id) ){
headNode = n3;
break;
}
}
return headNode.toString;
}
public static void main(String[] args) {
ArrayList<Node> list = new ArrayList<>();
list.add(new Node(2, 3));
list.add(new Node(3, null));
list.add(new Node(1, 2));
System.out.println(findFirstNode(list));
}
}