防止自己看不懂自己自己写的代码思路,所以来记录一下自己写代码的思路。 有三个方法
1.递归
2.DFS
用2个stack存节点和深度,每次取出stack中的节点和深度,再把stack顶部节点的左右子儿子存进去,这样就可以访问所有节点,用一个变量mxResult取节点深度的最大值就可以了。
对了,存节点的stack写法是:stack<TreeNode> stackNode*;
还需要stackDepth存深度,mxResult存深度最大值,nowNode,nowDepth代表现在节点和深度
3.BFS
这里最大的变化就是把stack换成了queue,其他变化不大