对于链表节点 ListNode
:
struct ListNode {
int val;
ListNode* next;
ListNode() : val(0), next(nullptr) {} // 空构造函数
ListNode(int x) : val(x), next(nullptr) {}
};
使用示例:
// 创建一个链表:1 -> 2 -> 3
ListNode* head = new ListNode(1);
head->next = new ListNode(2);
head->next->next = new ListNode(3);
//非指针类型定义对象
ListNode node2(5); // val = 5, next = nullptr
对于树节点 TreeNode
:
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode() : val(0), left(nullptr), right(nullptr) {} // 空构造函数
TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
};
使用示例:
// 创建一个二叉树:
/*
1
/ \
2 3
*/
TreeNode* root = new TreeNode(1);
root->left = new TreeNode(2);
root->right = new TreeNode(3);
//非指针类型定义对象
TreeNode root(1);