博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode Binary Tree Preorder Traversal
阅读量:5091 次
发布时间:2019-06-13

本文共 1407 字,大约阅读时间需要 4 分钟。

Problem Description

Given a binary tree, return the preorder traversal of its nodes' values.

For example:

Given binary tree {1,#,2,3},

1    \     2    /   3

 

return [1,2,3].

Note: Recursive solution is trivial, could you do it iteratively?

 

Problem Solution

递归&非递归方案

/** * Definition for binary tree * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {private:    vector
retVec; // the traversal sequence of outputpublic: void recursiveTraverse(TreeNode *root){ if(root == NULL) return; retVec.push_back(root->val); recursiveTraverse(root->left); recursiveTraverse(root->right); } void iterTraverse(TreeNode *root){ if(root==NULL) return; stack
st; TreeNode* temp; st.push(root); while(!st.empty()) { temp=st.top(); retVec.push_back(temp->val); st.pop(); if(temp->right!=NULL) st.push(temp->right); if(temp->left!=NULL) st.push(temp->left); } } vector
preorderTraversal(TreeNode *root) { // recursiveTraverse(root); iterTraverse(root); return retVec; }};

 

转载于:https://www.cnblogs.com/ballwql/p/3671001.html

你可能感兴趣的文章
AES算法
查看>>
iframe嵌套页面中的跳转
查看>>
JDK中个别类的介绍-IO读写(java.io.*)
查看>>
21、conda下载,安装,卸载
查看>>
JAVA多线程经典范列:生产者与消费者
查看>>
FastReport.Net传递报表参数
查看>>
textbox 增加click事件
查看>>
高速掌握Lua 5.3 —— I/O库 (1)
查看>>
默认头像方法-使用用户名称第一个字符作为默认头像
查看>>
使用Nexus3搭建Maven私服+上传第三方jar包到本地maven仓库
查看>>
所有子模块都要执行的checkstyle检查
查看>>
将整个 project 资源打包
查看>>
把项目通过maven生产源码包和文档包并发布到自己的私服上
查看>>
Smack Extensions用户手册
查看>>
接口XMPPConnection
查看>>
名册和存在
查看>>
使用聊天消息
查看>>
Tigase XMPP Server
查看>>
处理收到的Stanzas
查看>>
Spring IOC 概述
查看>>