题解 | #寻找峰值#
二叉树的前序遍历
http://www.nowcoder.com/practice/5e2135f4d2b14eb8a5b06fab4c938635
import java.util.*;
/*
- public class TreeNode {
- int val = 0;
- TreeNode left = null;
- TreeNode right = null;
- public TreeNode(int val) {
-
this.val = val;
- }
- } */
public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param root TreeNode类 * @return int整型一维数组 */ public int[] preorderTraversal (TreeNode root) { // write code here List treeVal = new ArrayList<>(); if (root == null){ return new int[0]; } Stack stack = new Stack(); stack.push(root); while (!stack.isEmpty()){ TreeNode pop = stack.pop(); treeVal.add(pop.val); if (pop.right != null){ stack.push(pop.right); } if (pop.left != null){ stack.push(pop.left); } } return treeVal.stream().mapToInt(Integer::intValue).toArray(); } }