以下是二叉树节点的通用形式:
public class TreeNode {public int val;public TreeNode left;public TreeNode right;public TreeNode() {}public TreeNode(int val) {this.val = val;}public TreeNode(int val, TreeNode left, TreeNode right) {this.val = val;this.left = left;this.right = right;}}
在不同的场景下,对此节点进行封装,利用组合模式,除了包含此节点外,也可以封装一些其他的信息:
如:节点深度depth、节点到根节点的路径和sum等等。
封装节点深度depth:
class QueueNode {TreeNode treeNode;//封装节点深度int depth;QueueNode(TreeNode treeNode, int depth){this.treeNode = treeNode;this.depth = depth;}}
