您的位置:首页 > 编程语言 > Python开发

leetcode BinaryTreeLevel java python

2016-06-16 17:26 483 查看
java版本:
class TreeNode{
int val;
TreeNode left=null;
TreeNode right=Null;
void TreeNode(val){
this.val=val;
}
}
public class BinaryTreeNode{
public List<List<Integer>> binarytree(TreeNode root){
List<List<Integer>> list=new ArrayList<List<Integer>>();
Queue<TreeNode> queue=new LinkedList<TreeNode>();

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);
}
return list;
}
}
Python版本
#coding:utf-8
class Node:
def __init__(self,val,left,right):
self.val=val
self.left=left
self.right=right
class Solution:
def reslove(self,root):
ans=[]
level=[root]
while level and root:
sublevel=[]
subans=[]
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)
level=sublevel
subans.append(level[i].val)
ans.append(subans)
return ans
def __name__=="__main__":
#root node write by you
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: