fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. class TreeNode {
  8. int id;
  9. ArrayList<TreeNode> nodes;
  10. }
  11.  
  12. /* Name of the class has to be "Main" only if the class is public. */
  13. class Ideone
  14. {
  15. public static void main (String[] args) throws java.lang.Exception
  16. {
  17. // your code goes here
  18. TreeNode a = new TreeNode();a.id = 34;
  19. TreeNode b = new TreeNode();b.id = 65;
  20. TreeNode c = new TreeNode();c.id = 37;
  21. TreeNode d = new TreeNode();d.id = 98;
  22. TreeNode e = new TreeNode();e.id = 23;
  23. TreeNode f = new TreeNode();f.id = 84;
  24. TreeNode g = new TreeNode();g.id = 76;
  25. TreeNode h = new TreeNode();h.id = 32;
  26. TreeNode i = new TreeNode();i.id = 11;
  27.  
  28. a.nodes = new ArrayList<TreeNode>();a.nodes.add(b);a.nodes.add(c);
  29. b.nodes = new ArrayList<TreeNode>();b.nodes.add(d);b.nodes.add(e);b.nodes.add(f);
  30. c.nodes = new ArrayList<TreeNode>();c.nodes.add(g);
  31. d.nodes = new ArrayList<TreeNode>();d.nodes.add(h);d.nodes.add(i);
  32.  
  33. ArrayList<TreeNode> ans = solve(a, 98);
  34. if(ans != null) {
  35. for(TreeNode t: ans) {
  36. System.out.println(t.id);
  37. }
  38. } else {
  39. System.out.println("NULL");
  40. }
  41. }
  42.  
  43. static ArrayList<TreeNode> solve(TreeNode treeNode, int id) {
  44. if(treeNode == null) return null;
  45. if(treeNode.id == id) return treeNode.nodes;
  46. if(treeNode.nodes == null) return null;
  47. ArrayList<TreeNode> ans = null, temp = null;
  48. for(TreeNode t: treeNode.nodes) {
  49. temp = solve(t, id);
  50. if(temp != null) ans = temp;
  51. }
  52. return ans;
  53. }
  54. }
Success #stdin #stdout 0.04s 2184192KB
stdin
Standard input is empty
stdout
32
11