FWNX-creates a linked list of all the nodes at each depth-JAVA VERSION

来源:互联网 发布:java web开发案例精粹 编辑:程序博客网 时间:2024/06/05 06:09
static ArrayList<LinkedList<Node>> mygetLevelNode(Node root){//initial the linked listArrayList<LinkedList<Node>> result = new ArrayList<LinkedList<Node>>();LinkedList<Node> ll = new LinkedList<Node>();ll.add(root);int level = 0;result.add(level,ll);while(true){//for every row there is a linked list we firstly create it LinkedList<Node> ll2 = new LinkedList(); for(int j = 0;j<result.get(level).size();++j)// level will ++ in the behind; we only get the "former" level{Node n = result.get(level).get(j);if(n.left_child!=null) ll2.add(n.left_child);if(n.right_child!=null) ll2.add(n.right_child);}level++;if(ll2.size()>0){result.add(level,ll2);}else{// if the ll2.size <= 0 that is means we reach the lowest-level-leaves so we break the while(true) loopbreak;}}return result;}
test function ::
ArrayList<LinkedList<Node>> findLinkedLeve = mygetLevelNode(root);for(LinkedList<Node> n:findLinkedLeve){System.out.println("same linked list");for(int i = 0;i<n.size();++i){Node temp = n.get(i);System.out.print(temp.data+" -> ");}}
0 0
原创粉丝点击