Just do it
专注做自己的事,有想做的事就去做好了

先序遍历:头左右

/**
* 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> preorderTraversal(TreeNode root) {
		List<Integer> ans = new ArrayList<>();
		dfs(root, ans);
		return ans;
	}
	
	public void dfs(TreeNode root, List<Integer> list){
		if(root == null){
			return;
		}
		list.add(root.val);
		dfs(root.left, list);
		dfs(root.right, list);
	}
}
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right

class Solution:

	def preorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
		ans = []
		def dfs(root):
			if root is None:
				return
			ans.append(root.val)
			dfs(root.left)
			dfs(root.right)
		dfs(root)
		return ans

中序遍历:左头右

# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right

class Solution:

	def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
		ans = []
		def dfs(root):
			if root is None:
				return
			dfs(root.left)
			ans.append(root.val)
			dfs(root.right)
		dfs(root)
		return ans

后序遍历:左右头

# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right

class Solution:
	def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
		ans = []
		def dfs(root):
			if root is None:
				return
			dfs(root.left)
			dfs(root.right)
			ans.append(root.val)
		dfs(root)
		return ans
posted on 2025-10-14 21:56  Ireck  阅读(2)  评论(0)    收藏  举报