如何在 C# 中使用递归反转二叉搜索树?

为了反转二叉搜索树,我们调用了一个方法 InvertABinarySearchTree ,它以节点为参数。如果节点为空则返回空,如果节点不为空,我们通过传递左右子值递归调用 InvertABinarySearchTree。并将右孩子值分配给左孩子,将左孩子值分配给右孩子。最终的输出将由树组成,这将是它自己的镜像。

示例

public class TreesPgm{

   public class Node{

      public int Value;

      public Node LeftChild;

      public Node RightChild;

      public Node(int value){

         this.Value = value;

      }  

      public override String ToString(){

         return "Node=" + Value;

      }

   }

   public Node InvertABinarySearchTree(Node node){

      if (node == null){

         return null;

      }

      Node left = InvertABinarySearchTree(node.LeftChild);

      Node right = InvertABinarySearchTree(node.RightChild);

     node.LeftChild= right;

     node.RightChild= left;

      return root;

   }

}

输入

   1

  3 2

输出结果
   1

  2 3

以上是 如何在 C# 中使用递归反转二叉搜索树? 的全部内容, 来源链接: utcz.com/z/345765.html

回到顶部