Find path to node in Tree?

后端 未结 3 1854
暗喜
暗喜 2020-12-17 05:00

I have a tree class that looks like:

Class Tree {
   Node root;
   Node curNode;
   public List find(String value) {
      if (curNode == null)         


        
3条回答
  •  半阙折子戏
    2020-12-17 05:37

    passing a list tracking the path, once find the node, exit the recursion and fill the path one by one.

        Boolean Search(Node node, String value, List track)
        {
            if (node == null) return false;
    
            if (node.data.equals(value))
            {
                track.add(node);
                return true;
            }
    
            for(Node child : node.children)
            {
                if (Search(child, value, track)
                {
                    track.add(0, node);
                    return true;
                }
            }
    
            return false;
        }
    

提交回复
热议问题