using System;
using System.Collections.Generic;
/*
public class TreeNode
{
public int val;
public TreeNode left;
public TreeNode right;
public TreeNode (int x)
{
val = x;
}
}
*/
class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param root TreeNode类 the root of binary tree
* @return int整型二维数组
*/
void forward(TreeNode p,List<int> res){
if(p!=null){
res.Add(p.val);
forward(p.left,res);
forward(p.right,res);
}
}
void second(TreeNode p,List<int> res){
if(p!=null){
second(p.left,res);
res.Add(p.val);
second(p.right,res);
}
}
void after(TreeNode p,List<int> res){
if(p!=null){
after(p.left,res);
after(p.right,res);
res.Add(p.val);
}
}
public List<List<int>> threeOrders (TreeNode root) {
// write code here
List<List<int>> res=new List<List<int>>();
for(int i=0;i<3;i++){
List<int> temp=new List<int>();
res.Add(temp);
}
if(root==null) return res;
forward(root,res[0]);
second(root,res[1]);
after(root,res[2]);
return res;
}
}
NC45 实现二叉树先序,中序和后序遍历
最新推荐文章于 2024-09-17 13:40:15 发布