leetcode94】的更多相关文章

Given a binary tree, return the inorder traversal of its nodes' values. Example: Input: [1,null,2,3] 1 \ 2 / 3 Output: [1,3,2] Follow up: Recursive solution is trivial, could you do it iteratively? ----------------------------------------------------…
Given a binary tree, return the inorder traversal of its nodes' values. Example: Input: [1,null,2,3] 1 \ 2 / 3 Output: [1,3,2] Follow up: Recursive solution is trivial, could you do it iteratively? 给定一个二叉树,返回它的中序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出…
class Solution { public: vector<int> V; void inOrder(TreeNode* node) { if (node != NULL) { if (node->left != NULL) { inOrder(node->left); } V.push_back(node->val); if (node->right != NULL) { inOrder(node->right); } } } vector<int&g…
题目: Given a binary tree, return the inorder traversal of its nodes' values. For example: Given binary tree {1,#,2,3}, 1 \ 2 / 3 return [1,3,2]. 分析: 中根遍历二叉树,也就是说,对树中的不论什么一个节点,先訪问其左子树,再訪问根节点,最后訪问其右子树.通过迭代的方式实现中根遍历二叉树,须要借助栈. 在遍历二叉树前,须要做点准备工作:包装每个树节点.包装后…
题目 给定一个二叉树,返回它的中序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 考点 stack 递归 中序遍历:左-根-右 思路 ref:二叉树的前中后和层序遍历详细图解(递归和非递归写法) 1.递归 若根节点为空,返回.左子树调用递归.输出根节点.右子树调用递归. 2.非递归,用栈 从根节点开始,先将根节点压入栈,然后再将其所有左子结点压入栈,然后取出栈顶节点,保存节点值,再将当前指针移到其…
solution 1:**动态规划 class Solution { public: int numTrees(int n) { vector<int> g={1,1,2}; for(int i=3;i<=n;i++){ int sum=0; for(int j=1;j<=i;j++){ sum+=g[j-1]*g[i-j]; } g.push_back(sum); } return g[n]; } }; solution 2:**数学演绎法,求卡塔兰数 直接利用公式进行计算:c(…
给定一个二叉树,返回它的中序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 递归: class Solution { public: vector<int> res; vector<int> inorderTraversal(TreeNode* root) { if(root == NULL) return res; if(root ->left != NULL) { inor…
给定一个二叉树,返回它的中序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗?       /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(N…
94. 二叉树的中序遍历 94. Binary Tree Inorder Traversal 题目描述 给定一个二叉树,返回它的 中序 遍历. LeetCode94. Binary Tree Inorder Traversal 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? Java 实现 Iterative Solution import java.util.LinkedList; import java…
思路: 1. 使用一个栈保存结点(列表实现): 2. 如果结点存在,入栈,然后将当前指针指向左子树,直到为空: 3. 当前结点不存在,则出栈栈顶元素,并把当前指针指向栈顶元素的右子树: 4. 栈不为空,循环2.3部. 代码如下,解决了leetcode94. Binary Tree Inorder Traversal: # Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): #…