minhas informações de contato
Correspondência[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
solução
Ideias de algoritmo
Para determinar em que nível está a lista na estrutura em árvore, podemos percorrer cada nó recursivamente e calcular sua profundidade. Especificamente, para cada nó, podemos percorrer seu nó pai para cima até o nó raiz, enquanto acumulamos o valor de profundidade. O valor final da profundidade é o nível em que o nó está localizado.
exemplo de código
A seguir está um exemplo de código Java simples, usado para determinar o nível de um nó em uma estrutura em árvore:
public class TreeNode {
private int id;
private int parentId;
public TreeNode(int id, int parentId) {
this.id = id;
this.parentId = parentId;
}
public int getId() {
return id;
}
public int getParentId() {
return parentId;
}
}
public class TreeUtils {
public static int getLevel(TreeNode node, List<TreeNode> nodeList) {
int level = 1;
int parentId = node.getParentId();
while (parentId != 0) {
for (TreeNode n : nodeList) {
if (n.getId() == parentId) {
parentId = n.getParentId();
level++;
break;
}
}
}
return level;
}
}
public class Main {
public static void main(String[] args) {
List<TreeNode> nodeList = new ArrayList<>();
nodeList.add(new TreeNode(1, 0));
nodeList.add(new TreeNode(2, 1));
nodeList.add(new TreeNode(3, 1));
nodeList.add(new TreeNode(4, 2));
TreeNode node = nodeList.get(3);
int level = TreeUtils.getLevel(node, nodeList);
System.out.println("Node " + node.getId() + " is at level " + level);
}
}