DepthBinaryTree leetcode java python

来源:互联网 发布:windows设备管理器在哪 编辑:程序博客网 时间:2024/05/28 23:11
#coding:utf-8class TreeNode:    def __init__(self,val,left,right):        self.val=val        self.left=left        self.right=rightclass Solution:    def reslove(self,root):        ans=[]        level=[root]        numlevel = 0        while level and root:            subans=[]            sublevel=[]            for i in range(len(level)):                if level[i].left is not None:                    sublevel.append(level[i].left)                if level[i].right is not None:                    sublevel.append(level[i].right)                subans.append(level[i].val)            level=sublevel            ans.append(subans)            numlevel=len(ans)        return numlevelif __name__=="__main__":    #you write the root

java:class TreeNode{    int val;    TreeNode left=null;    TreeNode right=null;    void TreeNode(int val){        this.val=val;    }}public class DepthBinaryTree{    public int depthsolution(TreeNode root){        List<List<Integer>> list=new ArrayList<List<Integer>>();        Queue<TreeNode> queue=new LinkedList<TreeNode>();        int numlevel=0;        if(root==null) return null;        queue.offer(root);        while(!queue.isEmpty){            List<Integer> subList=new ArrayList<Integer>();            int queuesize=queue.size();            for(int i=0;i<queuesize;i++){                if(queue.peer().left!=null){                    queue.offer(queue.peer().left);                }                if(queue.peer().right!=null){                    queue.offer(queue.peer().right);                }                sublist.add(queue.poll().val);            }            list.add(sublist);        }        numlevel=list.length;        return numlevel;    }}

0 0
原创粉丝点击