用python写一段代码:给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [1] 输出:[1] 提示: 树中节点数目在范围 [0, 100] 内 -100 <= Node.val <= 100 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/binary-tree-inorder-traversal 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。class Solution: def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
时间: 2023-11-22 07:52:41 浏览: 81
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
5星 · 资源好评率100%
```python
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]:
res = []
stack = []
while root or stack:
while root:
stack.append(root)
root = root.left
root = stack.pop()
res.append(root.val)
root = root.right
return res
```
这个代码中,我们使用了一个栈来模拟中序遍历的过程。首先将左子树全部入栈,然后进行出栈操作,将当前节点的值加入结果列表中,并将右子树作为下一个待处理节点,继续遍历。当栈为空并且当前节点也为空时,遍历结束。
阅读全文