package com.tango;import java.util.ArrayList;import java.util.LinkedList;import java.util.List;public class Test { public static void main(String[] args) { Node node3 = new Node(); node3.setId(3); Node node31 = new Node(); node31.setId(3); Node node32 = new Node(); node32.setId(3); Node node4 = new Node(); node4.setId(3); Node node41 = new Node(); node41.setId(3); Node node42 = new Node(); node42.setId(3); Node node2 = new Node(); node2.getNode().add(node3); node2.getNode().add(node31); node2.getNode().add(node32); Node node21 = new Node(); node21.getNode().add(node4); node21.getNode().add(node41); node21.getNode().add(node42); node21.setId(21); node2.setId(2); Node node1 = new Node(); node1.getNode().add(node2); node1.getNode().add(node21); node1.setId(1); Node node0 = new Node(); node0.getNode().add(node1); node0.setId(0); digui(node0); } public static void digui(Node node){ int sum = 0; int cursor = 0; for (Node tempNode : node.getNode()) { if(tempNode.getId()==3){ tempNode.setNum(++cursor); node.setNum(++sum); cursor = 0; }else { digui(tempNode); node.setNum(node.getNum()+tempNode.getNum()); } } System.out.println(node.getId()+"数量:"+node.getNum()); }}class Node{ int id; int num; List<Node> node = new ArrayList<>(); public List<Node> getNode() { return node; } public void setId(int id) { this.id = id; } public int getId() { return id; } public int getNum() { return num; } public void setNum(int num) { this.num = num; }}