主体
今天刷 leetcode 题时,偶然发现了一个简单好用的方法来打印树——重写Java的 toString() 方法:
public String toString() {
if (left == null && right == null) {
return String.format("[ %d ]", val);
}
return String.format("[ %d : %s, %s]", val, left, right);
}
测试打印这棵满二叉树
这个 toString() 方法里用的是先序遍历,你可以更改为中序或后续遍历,甚至,你可以改写成返回一个 JSON字符串。
源码
这里顺带贴个我写的二叉树源码吧,虽然都很简单
TreeNode.java
package base.tree;
import java.util.Objects;
/**
* TreeNode
*/
public class TreeNode {
int val;
TreeNode left;
TreeNo