From a07bdf3ef9caa57a4e5ec3e60ca5394f2e966dbc Mon Sep 17 00:00:00 2001 From: christopher oigo Date: Fri, 16 Jun 2023 09:04:01 +0300 Subject: [PATCH] binary-tree-preoder --- .idea/.gitignore | 3 +++ .idea/code_opensource_2020.iml | 9 ++++++++ .idea/misc.xml | 6 ++++++ .idea/modules.xml | 8 +++++++ .idea/vcs.xml | 6 ++++++ Java/binary-tree-preorder.java | 39 ++++++++++++++++++++++++++++++++++ 6 files changed, 71 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/code_opensource_2020.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 Java/binary-tree-preorder.java diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/code_opensource_2020.iml b/.idea/code_opensource_2020.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/.idea/code_opensource_2020.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..639900d --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..3774eb9 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Java/binary-tree-preorder.java b/Java/binary-tree-preorder.java new file mode 100644 index 0000000..404ea91 --- /dev/null +++ b/Java/binary-tree-preorder.java @@ -0,0 +1,39 @@ +/** + * Definition for a binary tree node. + * public class TreeNode { + * int val; + * TreeNode left; + * TreeNode right; + * TreeNode() {} + * TreeNode(int val) { this.val = val; } + * TreeNode(int val, TreeNode left, TreeNode right) { + * this.val = val; + * this.left = left; + * this.right = right; + * } + * } + */ +class Solution { + public List preorderTraversal(TreeNode root) { + + if (root == null){ + return new ArrayList(); + } + Stack stack = new Stack<>(); + List result = new ArrayList<>(); + stack.push(root); + while(!stack.isEmpty()){ + TreeNode node = stack.pop(); + result.add(node.val); + if (node.right != null){ + stack.push(node.right); + } + if (node.left != null){ + stack.push(node.left); + } + + } + return result; + + } +} \ No newline at end of file