From 10d56819793bff3f9d208d9a5cd6d813e482235d Mon Sep 17 00:00:00 2001 From: Adham Date: Wed, 8 May 2024 03:24:07 +0300 Subject: [PATCH] Create 0103-binary-tree-zigzag-level-order-traversal.java --- ...ary-tree-zigzag-level-order-traversal.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 java/0103-binary-tree-zigzag-level-order-traversal.java diff --git a/java/0103-binary-tree-zigzag-level-order-traversal.java b/java/0103-binary-tree-zigzag-level-order-traversal.java new file mode 100644 index 000000000..ef7deddd5 --- /dev/null +++ b/java/0103-binary-tree-zigzag-level-order-traversal.java @@ -0,0 +1,30 @@ +class Solution { + boolean reverse = false; // flag to detrmine the direction left or right + List> sol = new ArrayList>(); + public List> zigzagLevelOrder(TreeNode root) { + if(root == null){return sol;} + Queue queue = new LinkedList<>(); + queue.add(root); + while( !queue.isEmpty()){ + List temp = new ArrayList(); + int size =queue.size(); + for(int i=0; i < size; i++){ + TreeNode node = queue.poll(); + temp.add(node.val); + if(node.left != null){ + queue.add(node.left); + } + if(node.right != null){ + queue.add(node.right); + } + } + if(reverse){ + Collections.reverse(temp); + } + reverse = !reverse; + sol.add(temp); + } + return sol; + } + +} \ No newline at end of file