From 78843cb5305bc5f7e79d1447f5863659235b0f56 Mon Sep 17 00:00:00 2001 From: Avni Singh Date: Sun, 26 Jan 2025 12:49:45 +0530 Subject: [PATCH] Create Longest ZigZag Path in a Binary Tree.java Added in DP Programming --- .../Longest ZigZag Path in a Binary Tree.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 DSA SOLUTIONS (TILL TREE & BASIC GRAPH CONCEPTS)/DP/Longest ZigZag Path in a Binary Tree.java diff --git a/DSA SOLUTIONS (TILL TREE & BASIC GRAPH CONCEPTS)/DP/Longest ZigZag Path in a Binary Tree.java b/DSA SOLUTIONS (TILL TREE & BASIC GRAPH CONCEPTS)/DP/Longest ZigZag Path in a Binary Tree.java new file mode 100644 index 0000000..eaf4e5f --- /dev/null +++ b/DSA SOLUTIONS (TILL TREE & BASIC GRAPH CONCEPTS)/DP/Longest ZigZag Path in a Binary Tree.java @@ -0,0 +1,21 @@ +class Solution { + public int maxLength=0; + public void solve(TreeNode root,int dir,int currLength){ + if(root==null) return; + maxLength=Math.max(maxLength,currLength); + if(dir==1){ + solve(root.left,0,currLength+1); + solve(root.right,1,1); + } + else{ + solve(root.right,1,currLength+1); + solve(root.left,0,1); + } + } + + public int longestZigZag(TreeNode root) { + solve(root,0,0); + solve(root,1,0); + return maxLength; + } +} \ No newline at end of file