题解 | #把二叉树打印成多行#

把二叉树打印成多行

https://www.nowcoder.com/practice/445c44d982d04483b04a54f298796288

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 pRoot TreeNode类
     * @return int整型二维数组
     */
    public List<List<int>> Print (TreeNode pRoot) {
        // write code here
        if (pRoot == null)
            return new List<List<int>>();
        return PrintGD(new List<TreeNode>() {
            pRoot
        });
    }

    public List<List<int>> PrintGD(List<TreeNode> lT) {
        // write code here
        if (lT == null || lT.Count == 0)
            return null;
        List<List<int>> lsls = new List<List<int>>();
        List<int> ls = new List<int>();
        List<TreeNode> lTNew = new List<TreeNode>();
        for (int i = 0; i < lT.Count; i++) {
            ls.Add(lT[i].val);
            if (lT[i].left != null)
                lTNew.Add(lT[i].left);
            if (lT[i].right != null)
                lTNew.Add(lT[i].right);
        }
        if (ls.Count != 0)
            lsls.Add(ls);
        List<List<int>> lslsC = PrintGD(lTNew);
        if (lslsC != null && lslsC.Count != 0)
            lsls.AddRange(lslsC);
        return lsls;
    }
}

全部评论

相关推荐

07-11 11:10
门头沟学院 Java
请问各位大三兄弟们跟hr说多久实习时间到时候可以提前跑路吗?
程序员小白条:问就是六个月以上,可以一年,实习都这样,你入职后想跑就跑
点赞 评论 收藏
分享
屌丝逆袭咸鱼计划:心态摆好,man,晚点找早点找到最后都是为了提升自己好进正职,努力提升自己才是最关键的😤难道说现在找不到找的太晚了就炸了可以鸡鸡了吗😤早实习晚实习不都是为了以后多积累,大四学长有的秋招进的也不妨碍有的春招进,人生就这样
点赞 评论 收藏
分享
每晚夜里独自颤抖:你cet6就cet6,cet4就cet4,你写个cet证书等是什么意思。专业技能快赶上项目行数,你做的这2个项目哪里能提现你有这么多技能呢
点赞 评论 收藏
分享
07-14 12:29
门头沟学院 Java
后端岗,实习三周感觉有点想跑路了,担心秋招被拉黑,有没有佬是字节HR知道情况的
从零开始的转码生活:你实习三周都想跑路,将来拿到offer真的愿意在这干十几二十年吗
投递字节跳动等公司8个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务