在C#中,遍历TreeNode的方法有以下几种:
void Traverse(TreeNode node)
{
if(node != null)
{
// 处理当前节点
Console.WriteLine(node.Value);
// 遍历左子节点
Traverse(node.Left);
// 遍历右子节点
Traverse(node.Right);
}
}
void PreOrderTraverse(TreeNode node)
{
if(node != null)
{
// 处理当前节点
Console.WriteLine(node.Value);
// 遍历左子节点
PreOrderTraverse(node.Left);
// 遍历右子节点
PreOrderTraverse(node.Right);
}
}
void InOrderTraverse(TreeNode node)
{
if(node != null)
{
// 遍历左子节点
InOrderTraverse(node.Left);
// 处理当前节点
Console.WriteLine(node.Value);
// 遍历右子节点
InOrderTraverse(node.Right);
}
}
void PostOrderTraverse(TreeNode node)
{
if(node != null)
{
// 遍历左子节点
PostOrderTraverse(node.Left);
// 遍历右子节点
PostOrderTraverse(node.Right);
// 处理当前节点
Console.WriteLine(node.Value);
}
}
这些方法可以根据具体的需求选择使用,来遍历TreeNode中的节点。