From 98dd458942b6ec9acc67714bd0490f73555694dd Mon Sep 17 00:00:00 2001 From: Matej Focko Date: Sun, 7 Jan 2024 22:15:48 +0100 Subject: [PATCH] =?UTF-8?q?cs:=20add=20=E2=80=9C199.=20Binary=20Tree=20Rig?= =?UTF-8?q?ht=20Side=20View=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Matej Focko --- cs/binary-tree-right-side-view.cs | 34 +++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 cs/binary-tree-right-side-view.cs diff --git a/cs/binary-tree-right-side-view.cs b/cs/binary-tree-right-side-view.cs new file mode 100644 index 0000000..56f107c --- /dev/null +++ b/cs/binary-tree-right-side-view.cs @@ -0,0 +1,34 @@ +/** + * Definition for a binary tree node. + * public class TreeNode { + * public int val; + * public TreeNode left; + * public TreeNode right; + * public TreeNode(int val=0, TreeNode left=null, TreeNode right=null) { + * this.val = val; + * this.left = left; + * this.right = right; + * } + * } + */ +public class Solution { + private void GetView(List levels, int level, TreeNode node) { + if (node == null) { + return; + } + + while (level >= levels.Count) { + levels.Add(0); + } + levels[level] = node.val; + + GetView(levels, level + 1, node.left); + GetView(levels, level + 1, node.right); + } + + public IList RightSideView(TreeNode root) { + var levels = new List(); + GetView(levels, 0, root); + return levels; + } +}