Binary Tree Preorder Traversal

来源:互联网 发布:詹姆斯赛季数据 编辑:程序博客网 时间:2024/06/03 16:27

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?

题解:二叉树的先序排序

code:

package com.leetcode.code;import java.util.ArrayList;import java.util.List;class TreeNode {     int val;     TreeNode left;     TreeNode right;     TreeNode(int x) { val = x; }}public class Solution144 {public void preorder(TreeNode root,List<Integer> nodes){if(root!= null){nodes.add(root.val);preorder(root.left, nodes);preorder(root.right, nodes);}} public List<Integer> preorderTraversal(TreeNode root) {             List<Integer> nodes = new ArrayList<Integer>();        preorder(root, nodes); return nodes;   }public static void main(String[] args) {TreeNode root = new TreeNode(1);root.left=null;root.right = new TreeNode(2);root.right.left = new TreeNode(3);root.right.right = null;List<Integer> nodes = new Solution144().preorderTraversal(root);    for(Integer n:nodes){System.out.println(n);}}}



0 0
原创粉丝点击