左 根 右
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val = val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val = val;* this.left = left;* this.right = right;* }* }*/
class Solution {public List<Integer> inorderTraversal(TreeNode root) {List<Integer> res = new ArrayList<Integer>();inorder(root,res);return res;}public void inorder(TreeNode root,List<Integer>res){if(root == null)return ;inorder(root.left,res);//左res.add(root.val);//根inorder(root.right,res);//右}
}
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val = val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val = val;* this.left = left;* this.right = right;* }* }*/
class Solution {public int maxDepth(TreeNode root) {if(root == null)return 0;//终止条件else {int left = maxDepth(root.left);int right = maxDepth(root.right);return Math.max(left,right) + 1;}}
}
226. 翻转二叉树 - 力扣(LeetCode)
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val = val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val = val;* this.left = left;* this.right = right;* }* }*/
class Solution {public TreeNode invertTree(TreeNode root) {if(root == null)return null;//递归结束的条件TreeNode temp = root.left;//存下左节点root.left = invertTree(root.right);//递归遍历右节点root.right = invertTree(temp);//递归更新右节点为左节点return root;}
}
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val = val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val = val;* this.left = left;* this.right = right;* }* }*/
class Solution {public boolean isSymmetric(TreeNode root){return root == null || recur(root.left,root.right);}public boolean recur(TreeNode L, TreeNode R) {if(L == null && R == null)return true;if (L == null || R == null || L.val != R.val) return false;//要使用L.val和R.val的前提条件是不为null 不能直接L.val == R.val return..return recur(L.left, R.right) && recur(L.right, R.left);}
}