# hari10621/leetcode architecture

> Architecture diagram of the GitHub repository hari10621/leetcode, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/hari10621/leetcode
- Repository: https://github.com/hari10621/leetcode

## Overview

This repository is a flat collection of independent LeetCode C++ solutions, not an integrated application. The user-facing workflow is selecting a problem’s solution and submitting or evaluating that standalone implementation; the README does not document a shared runner or runtime pipeline. The graph groups representative solutions by algorithmic domain. The sampled files and source index show no cross-solution calls, so no connections between solutions are inferred; many other solutions in the tree are omitted for readability.

Main entry points: [`704. Binary Search.cpp`](https://github.com/hari10621/leetcode/blob/main/704.%20Binary%20Search.cpp) (Binary search), [`125. Valid Palindrome.cpp`](https://github.com/hari10621/leetcode/blob/main/125.%20Valid%20Palindrome.cpp) (Palindrome checks), [`102. Binary Tree Level Order Traversal.cpp`](https://github.com/hari10621/leetcode/blob/main/102.%20Binary%20Tree%20Level%20Order%20Traversal.cpp) (Level traversal)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_arrays["Arrays and numbers"]
  node_binary_search["Binary search"]
  node_insert_position["Search insert"]
  node_window_average["Window average"]
  node_equal_moves["Equalization moves"]
  node_shift_grid["Grid shifting"]
  node_unique_numbers["Unique occurrences"]
  node_top_k["Top frequencies"]
  node_two_sum["Two sum<br/>[1. Two Sum.cpp]"]
end

subgraph group_strings["Strings"]
  node_palindrome["Palindrome checks"]
  node_decode_message["Message decoding"]
  node_frequency_sort["Character frequency"]
end

subgraph group_trees["Trees"]
  node_level_order["Level traversal"]
  node_zigzag_order["Zigzag traversal"]
  node_right_view["Right-side view"]
  node_array_to_bst["Array to BST"]
  node_list_to_bst["List to BST"]
  node_bst_insert["BST insertion"]
  node_bst_delete["BST deletion"]
  node_bst_validate["BST validation"]
end

subgraph group_structures["Other structures"]
  node_list_reorder["List rearrangement"]
  node_graph_path["Graph connectivity"]
  node_grid_perimeter["Island perimeter"]
end

node_user(("Problem solver"))

node_user -.->|"selects solution"| node_binary_search
node_user -.->|"selects solution"| node_level_order
node_user -.->|"selects solution"| node_palindrome

click node_binary_search "https://github.com/hari10621/leetcode/blob/main/704.%20Binary%20Search.cpp"
click node_insert_position "https://github.com/hari10621/leetcode/blob/main/35.%20Search%20Insert%20Position.cpp"
click node_window_average "https://github.com/hari10621/leetcode/blob/main/643.%20Maximum%20Average%20Subarray%20I.cpp"
click node_equal_moves "https://github.com/hari10621/leetcode/blob/main/453.%20Minimum%20Moves%20to%20Equal%20Array%20Elements.cpp"
click node_shift_grid "https://github.com/hari10621/leetcode/blob/main/1260.%20Shift%202D%20Grid.cpp"
click node_unique_numbers "https://github.com/hari10621/leetcode/blob/main/1207.%20Unique%20Number%20of%20Occurrences.cpp"
click node_top_k "https://github.com/hari10621/leetcode/blob/main/347.%20Top%20K%20Frequent%20Elements.cpp"
click node_two_sum "https://github.com/hari10621/leetcode/blob/main/1.%20Two%20Sum.cpp"
click node_palindrome "https://github.com/hari10621/leetcode/blob/main/125.%20Valid%20Palindrome.cpp"
click node_decode_message "https://github.com/hari10621/leetcode/blob/main/2325.%20Decode%20the%20Message.cpp"
click node_frequency_sort "https://github.com/hari10621/leetcode/blob/main/451.%20Sort%20Characters%20By%20Frequency.cpp"
click node_level_order "https://github.com/hari10621/leetcode/blob/main/102.%20Binary%20Tree%20Level%20Order%20Traversal.cpp"
click node_zigzag_order "https://github.com/hari10621/leetcode/blob/main/103.%20Binary%20Tree%20Zigzag%20Level%20Order%20Traversal.cpp"
click node_right_view "https://github.com/hari10621/leetcode/blob/main/199.%20Binary%20Tree%20Right%20Side%20View.cpp"
click node_array_to_bst "https://github.com/hari10621/leetcode/blob/main/108.%20Convert%20Sorted%20Array%20to%20Binary%20Search%20Tree.cpp"
click node_list_to_bst "https://github.com/hari10621/leetcode/blob/main/109.%20Convert%20Sorted%20List%20to%20Binary%20Search%20Tree.cpp"
click node_bst_insert "https://github.com/hari10621/leetcode/blob/main/701.%20Insert%20into%20a%20Binary%20Search%20Tree.cpp"
click node_bst_delete "https://github.com/hari10621/leetcode/blob/main/450.%20Delete%20Node%20in%20a%20BST.cpp"
click node_bst_validate "https://github.com/hari10621/leetcode/blob/main/98.%20Validate%20Binary%20Search%20Tree.cpp"
click node_list_reorder "https://github.com/hari10621/leetcode/blob/main/328.%20Odd%20Even%20Linked%20List.cpp"
click node_graph_path "https://github.com/hari10621/leetcode/blob/main/1971.%20Find%20if%20Path%20Exists%20in%20Graph.cpp"
click node_grid_perimeter "https://github.com/hari10621/leetcode/blob/main/463.%20Island%20Perimeter.cpp"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_binary_search,node_insert_position,node_window_average,node_equal_moves,node_shift_grid,node_unique_numbers,node_top_k,node_two_sum toneBlue
class node_palindrome,node_decode_message,node_frequency_sort toneAmber
class node_level_order,node_zigzag_order,node_right_view,node_array_to_bst,node_list_to_bst,node_bst_insert,node_bst_delete,node_bst_validate toneMint
class node_list_reorder,node_graph_path,node_grid_perimeter toneRose
class node_user toneIndigo
```

## Components

### Arrays and numbers

- [Binary search](https://github.com/hari10621/leetcode/blob/main/704.%20Binary%20Search.cpp): `704. Binary Search.cpp`
- [Search insert](https://github.com/hari10621/leetcode/blob/main/35.%20Search%20Insert%20Position.cpp): `35. Search Insert Position.cpp`
- [Window average](https://github.com/hari10621/leetcode/blob/main/643.%20Maximum%20Average%20Subarray%20I.cpp): `643. Maximum Average Subarray I.cpp`
- [Equalization moves](https://github.com/hari10621/leetcode/blob/main/453.%20Minimum%20Moves%20to%20Equal%20Array%20Elements.cpp): `453. Minimum Moves to Equal Array Elements.cpp`
- [Grid shifting](https://github.com/hari10621/leetcode/blob/main/1260.%20Shift%202D%20Grid.cpp): `1260. Shift 2D Grid.cpp`
- [Unique occurrences](https://github.com/hari10621/leetcode/blob/main/1207.%20Unique%20Number%20of%20Occurrences.cpp): `1207. Unique Number of Occurrences.cpp`
- [Top frequencies](https://github.com/hari10621/leetcode/blob/main/347.%20Top%20K%20Frequent%20Elements.cpp): `347. Top K Frequent Elements.cpp`
- [Two sum](https://github.com/hari10621/leetcode/blob/main/1.%20Two%20Sum.cpp): `1. Two Sum.cpp`

### Strings

- [Palindrome checks](https://github.com/hari10621/leetcode/blob/main/125.%20Valid%20Palindrome.cpp): `125. Valid Palindrome.cpp`
- [Message decoding](https://github.com/hari10621/leetcode/blob/main/2325.%20Decode%20the%20Message.cpp): `2325. Decode the Message.cpp`
- [Character frequency](https://github.com/hari10621/leetcode/blob/main/451.%20Sort%20Characters%20By%20Frequency.cpp): `451. Sort Characters By Frequency.cpp`

### Trees

- [Level traversal](https://github.com/hari10621/leetcode/blob/main/102.%20Binary%20Tree%20Level%20Order%20Traversal.cpp): `102. Binary Tree Level Order Traversal.cpp`
- [Zigzag traversal](https://github.com/hari10621/leetcode/blob/main/103.%20Binary%20Tree%20Zigzag%20Level%20Order%20Traversal.cpp): `103. Binary Tree Zigzag Level Order Traversal.cpp`
- [Right-side view](https://github.com/hari10621/leetcode/blob/main/199.%20Binary%20Tree%20Right%20Side%20View.cpp): `199. Binary Tree Right Side View.cpp`
- [Array to BST](https://github.com/hari10621/leetcode/blob/main/108.%20Convert%20Sorted%20Array%20to%20Binary%20Search%20Tree.cpp): `108. Convert Sorted Array to Binary Search Tree.cpp`
- [List to BST](https://github.com/hari10621/leetcode/blob/main/109.%20Convert%20Sorted%20List%20to%20Binary%20Search%20Tree.cpp): `109. Convert Sorted List to Binary Search Tree.cpp`
- [BST insertion](https://github.com/hari10621/leetcode/blob/main/701.%20Insert%20into%20a%20Binary%20Search%20Tree.cpp): `701. Insert into a Binary Search Tree.cpp`
- [BST deletion](https://github.com/hari10621/leetcode/blob/main/450.%20Delete%20Node%20in%20a%20BST.cpp): `450. Delete Node in a BST.cpp`
- [BST validation](https://github.com/hari10621/leetcode/blob/main/98.%20Validate%20Binary%20Search%20Tree.cpp): `98. Validate Binary Search Tree.cpp`

### Other structures

- [List rearrangement](https://github.com/hari10621/leetcode/blob/main/328.%20Odd%20Even%20Linked%20List.cpp): `328. Odd Even Linked List.cpp`
- [Graph connectivity](https://github.com/hari10621/leetcode/blob/main/1971.%20Find%20if%20Path%20Exists%20in%20Graph.cpp): `1971. Find if Path Exists in Graph.cpp`
- [Island perimeter](https://github.com/hari10621/leetcode/blob/main/463.%20Island%20Perimeter.cpp): `463. Island Perimeter.cpp`

### Other components

- **Problem solver**

## Connections

- Problem solver → Binary search: selects solution (evidence: `README.md`)
- Problem solver → Level traversal: selects solution (evidence: `README.md`)
- Problem solver → Palindrome checks: selects solution (evidence: `README.md`)
