📅  最后修改于: 2023-12-03 15:05:37.698000             🧑  作者: Mango
Traverse是编程中常用的一个术语,意为遍历。它可以应用于不同的数据结构中,包括树、图、列表等等。在遍历过程中,我们可以对数据结构中的每个元素进行操作或者搜索。
遍历通常采用递归或者循环的方式来实现,根据不同的要求可以实现前序遍历、中序遍历、后序遍历等等。
以二叉树为例,前序遍历、中序遍历和后序遍历的遍历顺序如下:
以下是一段二叉树前序遍历的Python代码实现:
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def preorderTraversal(root: TreeNode) -> List[int]:
res = []
if root:
res.append(root.val)
res += preorderTraversal(root.left)
res += preorderTraversal(root.right)
return res
以下是一段链表遍历的C++代码实现:
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
vector<int> traverseList(ListNode* head) {
vector<int> res;
while (head != nullptr) {
res.push_back(head->val);
head = head->next;
}
return res;
}
Traverse是编程中常用的一个术语,在遍历不同的数据结构时,我们可以采用递归或者循环来实现前序遍历、中序遍历、后序遍历等。在实现过程中,要根据不同的数据结构选择合适的实现方式。