public class friends {
public static void main(String[] args) {
String s = "1,null,2,4,null,3,5,6,7";
TreeNode deserialize = deserialize(s);
dfspring(deserialize);
}
public static void dfsprint(TreeNode root){
if (root==null){
return;
}
System.out.println(root.val);
dfsprint(root.left);
dfsprint(root.right);
}
// Decodes your encoded data to tree.
public static TreeNode deserialize(String data) {
String[] arr = data.split(",");
Queue<String> queue = new LinkedList<>();
for(String sub: arr){
queue.add(sub);
}
return dfs(queue);
}
public static TreeNode dfs(Queue<String> queue){
if (queue.size()==0){
return null;
}
String val = queue.poll();
if("null".equals(val)) return null;
TreeNode root = new TreeNode(Integer.valueOf(val));
root.left = dfs(queue);
root.right = dfs(queue);
return root;
}
}
class TreeNode{
int val;
TreeNode left;
TreeNode right;
TreeNode(int val){
this.val = val;
}
}
数组转化为二叉树,并且数组中带null,表示树的空节点
最新推荐文章于 2024-07-10 01:55:48 发布