leetcode-623. Add One Row to Tree
来源:互联网 发布:js从json中取值 编辑:程序博客网 时间:2024/05/29 07:11
考察点:递归, 二叉树;
思路:递归思想;很重要的是help函数的处理,它要返回指针,而且它的功能是返回最终的root,这个root是满足条件的root。当然,help函数里还要递归,确定好为NULL的条件和depth==curdepth这两个结束条件就ok了。
C++代码:
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: TreeNode* addOneRow(TreeNode* root, int v, int d) { if (d == 1) { TreeNode * ret = new TreeNode(v); ret->left = root; return ret; } return addOneRow(root, v, d, 1); } TreeNode* addOneRow(TreeNode* root, int v, int d, int curDepth) { if (root == NULL) return NULL; if (d == curDepth + 1) { TreeNode* tempLeft = root->left; TreeNode* tempRight = root->right; TreeNode * newLeft = new TreeNode(v); TreeNode * newRight = new TreeNode(v); root->left = newLeft; root->right = newRight; newLeft->left = tempLeft; newRight->right = tempRight; return root; } else { addOneRow(root->left, v, d, curDepth+1); addOneRow(root->right, v, d, curDepth+1); } return root; }};
阅读全文
0 0
- leetcode-623. Add One Row to Tree
- leetcode 623. Add One Row to Tree
- Leetcode 623. Add One Row to Tree
- [LeetCode] 623. Add One Row to Tree
- leetcode 623. Add One Row to Tree
- leetcode 623 Add One Row to Tree
- [LeetCode] Add One Row to Tree
- LeetCode Add One Row to Tree
- 【LeetCode】623.Add One Row to Tree(Medium)解题报告
- 623. Add One Row to Tree
- 623. Add One Row to Tree
- 623. Add One Row to Tree
- 623. Add One Row to Tree
- 623. Add One Row to Tree
- Add One Row to Tree
- leetcode 623. Add One Row to Tree 深度优先遍历DFS + 很棒的递归
- 623. Add One Row to Tree(Difficulty: Medium)
- Add One Row to Tree问题及解法
- 使用GPIB总线接收数据
- 单例模式,双重检验锁
- Android读取通讯录信息
- php 操作mysql
- 是否要规律作息的思考
- leetcode-623. Add One Row to Tree
- poj 动态规划之1050 To the Max
- java反射机制的原理
- Linux C编程编译与调试
- React总结1:异步更新的setState
- 博客使用注意简介、快捷键、及功能
- C语言学习第一天
- 刷面试题的第一天
- bootstrop路由简单配置