最近在乐扣做题,做到一道关于遍历二叉树的,因为我本身也没接触过二叉树, 知道有这么个东西,但是只知道概念不知道相关代码,实操起来跟智障一样.然后看了一下题解,发现思路非常清晰, 照着思路试着敲了一下,感觉挺有帮助的,记录一下吧.
-------------------------------------------
//树形结构实体
public class TreeNode {
Integer val;
TreeNode left;
TreeNode right;
TreeNode(Integer x) { val = x; }
}
这里用的是DFS 深度算法. 就是顺着一条枝干一直撸到底,然后再一层一层往上回溯,也算是回溯算法的另一种应用
import java.util.ArrayList;
import java.util.List;
class Solution {
private static List<List<Integer>> results = new ArrayList<List<Integer>>();
public static void main(String[] args) {
//二叉树数据
//[3,9,20,null,null,15,7]
TreeNode t0 = new TreeNode(3);
TreeNode t1l = new TreeNode(9);
TreeNode t1r = new TreeNode(20);
TreeNode t1l2l = new TreeNode(null);
TreeNode t1l2r = new TreeNode(nul