将数组转化为平衡二叉树,方法是将数组中间的数作为根节点,数组左边为左节点,数组右边为右节点。 注意点: 1.注意中间节点的选择:size=end...
和104题目相似,区别在于本题树的层数由低到高存储。 代码: class Solution { public: vector<vector ...
找出树的最小层数。 注意点: 1.判断树是否为空。 2.如果当前层数大于等于已找出的最小层数,则停止向下搜索。 3.提前判断子节点是否为空,减少...
找树的最深层数,从叶子节点向上累加,得到最深层数。 使用了两种判定方法,方法1是判定节点为空节点再回滚,时间是8ms;另一种是当节点存在空子节点...
判断树是否对称,每次将比对的两个节点的左右节点与右左节点对比: l->left==r->right && l->right==r->left,一...
判断两个树是否相同,注意判断是否为NULL。 代码: bool isSameTree(TreeNode* p, TreeNode* q) { ...
根据大小顺序合并两数组。 注意点: nums1容器中m后的数字为0,注意注意i<m的判断。 代码: voidmerge(vector& nums...
一个已排序的链表,删除重复数字。 代码: ListNode* deleteDuplicates(ListNode* head) { i...
You are climbing a stair case. It takes n steps to reach to the top. Eac...