题解 | #求二叉树的层序遍历#

求二叉树的层序遍历

http://www.nowcoder.com/practice/04a5560e43e24e9db4595865dc9c63a3

层序遍历

对树进行需要层序遍历,需要借助队列或者链表来完成。

class Solution {
  	//定义全局结果
  	ArrayLIst<ArrayList<Integer>> res = new ArrayList();
  
    public ArrayLIst<ArrayList<Integer>> levelOrder (TreeNode root) {
      if(root==null) return res;
      //借助链表来完成层序遍历
      LinkedList<TreeNode> path = new LinkedList();
      level(root, path);
      return res;
    }
  
  	public void level (TreeNode root, LinkedList<TreeNode> path) {
      //先加入第一个节点
      path.addLast(root);
      //遍历链表
      while(!path.isEmpty()){
        //获取当前层的节点数
        int size = path.size();
        //定义存储每层的节点
        ArrayList<Integer> levelval = new ArrayList();
        //遍历当前层
        for(int i=0; i<size; i++){
          //获取遍历节点
          TreeNode tmp = path.pollLast();
          //将其加入到层list里面
          levelval.add(tmp.val);
          //加入左右子节点
          if(tmp.left!=null) path.addLast(tmp.left);
          if(tmp.right!=null) path.addLast(tmp.right);
        }
        //将每层的结果放入到全局结果中
        res.add(new ArrayList(levelval));
      }
    }
}
class Solution:
   def levelOrder(self , root: TreeNode) -> List[List[int]]:
        # write code here
        if root is None:
          return []
        res = []
        path = [root]
        while(path):
            arr = []
            for _ in range(len(path)):
                obj = path.pop(0)
                arr.append(obj.val)
                if obj.left: 
                    path.append(obj.left)
                if obj.right: 
                    path.append(obj.right)
            res.append(arr)
        return res
      
全部评论

相关推荐

11-09 14:54
已编辑
华南农业大学 产品经理
大拿老师:这个简历,连手机号码和照片都没打码,那为什么关键要素求职职位就不写呢? 从上往下看,都没看出自己到底是产品经理的简历,还是电子硬件的简历? 这是一个大问题,当然,更大的问题是实习经历的描述是不对的 不要只是去写实习流程,陈平,怎么去开会?怎么去讨论? 面试问的是你的产品功能点,是怎么设计的?也就是要写项目的亮点,有什么功能?这个功能有什么难处?怎么去解决的? 实习流程大家都一样,没什么优势,也没有提问点,没有提问,你就不得分 另外,你要明确你投的是什么职位,如果投的是产品职位,你的项目经历写的全都是跟产品无关的,那你的简历就没用 你的面试官必然是一个资深的产品经理,他不会去问那些计算机类的编程项目 所以这种四不像的简历,在校招是大忌
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务