> ## Documentation Index
> Fetch the complete documentation index at: https://leetcode-py.wisl.dev/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> leetcode-py is a Python LeetCode practice environment generator with one CLI: lcpy. It is not a service or platform.
> Each problem is a directory under leetcode/ with README.md, solution.py, test_solution.py, helpers.py, and playground.ipynb. lcpy gen creates them from JSON templates bundled with the package.
> Examples are backed by tests; copy them verbatim.

# Easy LeetCode Problems in Python with Tests

> All 309 Easy LeetCode problems with tested Python solutions. Part 1 of 2: problems 1-200.

Easy holds 309 problems.

<div className="sd-catalog-table">
  | # | Problem | Difficulty | Solution |
  | - | - | - | - |
  | 1 | [Two Sum](/problems/two-sum) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/two_sum/solution.py) |
  | 9 | [Palindrome Number](/problems/palindrome-number) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/palindrome_number/solution.py) |
  | 13 | [Roman to Integer](/problems/roman-to-integer) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/roman_to_integer/solution.py) |
  | 14 | [Longest Common Prefix](/problems/longest-common-prefix) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_common_prefix/solution.py) |
  | 20 | [Valid Parentheses](/problems/valid-parentheses) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/valid_parentheses/solution.py) |
  | 21 | [Merge Two Sorted Lists](/problems/merge-two-sorted-lists) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/merge_two_sorted_lists/solution.py) |
  | 26 | [Remove Duplicates From Sorted Array](/problems/remove-duplicates-from-sorted-array) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/remove_duplicates_from_sorted_array/solution.py) |
  | 27 | [Remove Element](/problems/remove-element) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/remove_element/solution.py) |
  | 28 | [Find the Index of the First Occurrence in a String](/problems/find-the-index-of-the-first-occurrence-in-a-string) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_the_index_of_the_first_occurrence_in_a_string/solution.py) |
  | 35 | [Search Insert Position](/problems/search-insert-position) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/search_insert_position/solution.py) |
  | 58 | [Length of Last Word](/problems/length-of-last-word) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/length_of_last_word/solution.py) |
  | 66 | [Plus One](/problems/plus-one) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/plus_one/solution.py) |
  | 67 | [Add Binary](/problems/add-binary) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/add_binary/solution.py) |
  | 69 | [Sqrt(x)](/problems/sqrtx) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/sqrtx/solution.py) |
  | 70 | [Climbing Stairs](/problems/climbing-stairs) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/climbing_stairs/solution.py) |
  | 83 | [Remove Duplicates from Sorted List](/problems/remove-duplicates-from-sorted-list) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/remove_duplicates_from_sorted_list/solution.py) |
  | 88 | [Merge Sorted Array](/problems/merge-sorted-array) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/merge_sorted_array/solution.py) |
  | 94 | [Binary Tree Inorder Traversal](/problems/binary-tree-inorder-traversal) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/binary_tree_inorder_traversal/solution.py) |
  | 100 | [Same Tree](/problems/same-tree) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/same_tree/solution.py) |
  | 101 | [Symmetric Tree](/problems/symmetric-tree) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/symmetric_tree/solution.py) |
  | 104 | [Maximum Depth of Binary Tree](/problems/maximum-depth-of-binary-tree) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_depth_of_binary_tree/solution.py) |
  | 108 | [Convert Sorted Array to Binary Search Tree](/problems/convert-sorted-array-to-binary-search-tree) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/convert_sorted_array_to_binary_search_tree/solution.py) |
  | 110 | [Balanced Binary Tree](/problems/balanced-binary-tree) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/balanced_binary_tree/solution.py) |
  | 111 | [Minimum Depth of Binary Tree](/problems/minimum-depth-of-binary-tree) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_depth_of_binary_tree/solution.py) |
  | 112 | [Path Sum](/problems/path-sum) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/path_sum/solution.py) |
  | 118 | [Pascal's Triangle](/problems/pascals-triangle) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/pascals_triangle/solution.py) |
  | 119 | [Pascal's Triangle II](/problems/pascals-triangle-ii) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/pascals_triangle_ii/solution.py) |
  | 121 | [Best Time to Buy and Sell Stock](/problems/best-time-to-buy-and-sell-stock) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/best_time_to_buy_and_sell_stock/solution.py) |
  | 125 | [Valid Palindrome](/problems/valid-palindrome) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/valid_palindrome/solution.py) |
  | 136 | [Single Number](/problems/single-number) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/single_number/solution.py) |
  | 141 | [Linked List Cycle](/problems/linked-list-cycle) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/linked_list_cycle/solution.py) |
  | 144 | [Binary Tree Preorder Traversal](/problems/binary-tree-preorder-traversal) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/binary_tree_preorder_traversal/solution.py) |
  | 145 | [Binary Tree Postorder Traversal](/problems/binary-tree-postorder-traversal) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/binary_tree_postorder_traversal/solution.py) |
  | 157 | [Read N Characters Given Read4](/problems/read-n-characters-given-read4) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/read_n_characters_given_read4/solution.py) |
  | 160 | [Intersection of Two Linked Lists](/problems/intersection-of-two-linked-lists) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/intersection_of_two_linked_lists/solution.py) |
  | 163 | [Missing Ranges](/problems/missing-ranges) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/missing_ranges/solution.py) |
  | 168 | [Excel Sheet Column Title](/problems/excel-sheet-column-title) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/excel_sheet_column_title/solution.py) |
  | 169 | [Majority Element](/problems/majority-element) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/majority_element/solution.py) |
  | 170 | [Two Sum III - Data structure design](/problems/two-sum-iii-data-structure-design) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/two_sum_iii_data_structure_design/solution.py) |
  | 171 | [Excel Sheet Column Number](/problems/excel-sheet-column-number) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/excel_sheet_column_number/solution.py) |
  | 190 | [Reverse Bits](/problems/reverse-bits) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/reverse_bits/solution.py) |
  | 191 | [Number of 1 Bits](/problems/number-of-1-bits) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/number_of_1_bits/solution.py) |
  | 202 | [Happy Number](/problems/happy-number) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/happy_number/solution.py) |
  | 203 | [Remove Linked List Elements](/problems/remove-linked-list-elements) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/remove_linked_list_elements/solution.py) |
  | 205 | [Isomorphic Strings](/problems/isomorphic-strings) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/isomorphic_strings/solution.py) |
  | 206 | [Reverse Linked List](/problems/reverse-linked-list) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/reverse_linked_list/solution.py) |
  | 217 | [Contains Duplicate](/problems/contains-duplicate) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/contains_duplicate/solution.py) |
  | 219 | [Contains Duplicate II](/problems/contains-duplicate-ii) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/contains_duplicate_ii/solution.py) |
  | 225 | [Implement Stack using Queues](/problems/implement-stack-using-queues) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/implement_stack_using_queues/solution.py) |
  | 226 | [Invert Binary Tree](/problems/invert-binary-tree) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/invert_binary_tree/solution.py) |
  | 228 | [Summary Ranges](/problems/summary-ranges) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/summary_ranges/solution.py) |
  | 231 | [Power of Two](/problems/power-of-two) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/power_of_two/solution.py) |
  | 232 | [Implement Queue using Stacks](/problems/implement-queue-using-stacks) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/implement_queue_using_stacks/solution.py) |
  | 234 | [Palindrome Linked List](/problems/palindrome-linked-list) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/palindrome_linked_list/solution.py) |
  | 242 | [Valid Anagram](/problems/valid-anagram) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/valid_anagram/solution.py) |
  | 243 | [Shortest Word Distance](/problems/shortest-word-distance) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/shortest_word_distance/solution.py) |
  | 246 | [Strobogrammatic Number](/problems/strobogrammatic-number) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/strobogrammatic_number/solution.py) |
  | 252 | [Meeting Rooms](/problems/meeting-rooms) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/meeting_rooms/solution.py) |
  | 257 | [Binary Tree Paths](/problems/binary-tree-paths) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/binary_tree_paths/solution.py) |
  | 258 | [Add Digits](/problems/add-digits) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/add_digits/solution.py) |
  | 263 | [Ugly Number](/problems/ugly-number) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/ugly_number/solution.py) |
  | 266 | [Palindrome Permutation](/problems/palindrome-permutation) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/palindrome_permutation/solution.py) |
  | 268 | [Missing Number](/problems/missing-number) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/missing_number/solution.py) |
  | 270 | [Closest Binary Search Tree Value](/problems/closest-bst-value) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/closest_bst_value/solution.py) |
  | 278 | [First Bad Version](/problems/first-bad-version) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/first_bad_version/solution.py) |
  | 283 | [Move Zeroes](/problems/move-zeroes) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/move_zeroes/solution.py) |
  | 290 | [Word Pattern](/problems/word-pattern) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/word_pattern/solution.py) |
  | 292 | [Nim Game](/problems/nim-game) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/nim_game/solution.py) |
  | 293 | [Flip Game](/problems/flip-game) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/flip_game/solution.py) |
  | 303 | [Range Sum Query - Immutable](/problems/range-sum-query-immutable) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/range_sum_query_immutable/solution.py) |
  | 326 | [Power of Three](/problems/power-of-three) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/power_of_three/solution.py) |
  | 338 | [Counting Bits](/problems/counting-bits) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/counting_bits/solution.py) |
  | 342 | [Power of Four](/problems/power-of-four) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/power_of_four/solution.py) |
  | 344 | [Reverse String](/problems/reverse-string) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/reverse_string/solution.py) |
  | 345 | [Reverse Vowels of a String](/problems/reverse-vowels-of-a-string) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/reverse_vowels_of_a_string/solution.py) |
  | 346 | [Moving Average from Data Stream](/problems/moving-average-from-data-stream) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/moving_average_from_data_stream/solution.py) |
  | 349 | [Intersection of Two Arrays](/problems/intersection-of-two-arrays) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/intersection_of_two_arrays/solution.py) |
  | 350 | [Intersection of Two Arrays II](/problems/intersection-of-two-arrays-ii) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/intersection_of_two_arrays_ii/solution.py) |
  | 359 | [Logger Rate Limiter](/problems/logger-rate-limiter) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/logger_rate_limiter/solution.py) |
  | 367 | [Valid Perfect Square](/problems/valid-perfect-square) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/valid_perfect_square/solution.py) |
  | 374 | [Guess Number Higher or Lower](/problems/guess-number-higher-or-lower) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/guess_number_higher_or_lower/solution.py) |
  | 383 | [Ransom Note](/problems/ransom-note) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/ransom_note/solution.py) |
  | 387 | [First Unique Character in a String](/problems/first-unique-character-in-a-string) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/first_unique_character_in_a_string/solution.py) |
  | 389 | [Find the Difference](/problems/find-the-difference) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_the_difference/solution.py) |
  | 392 | [Is Subsequence](/problems/is-subsequence) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/is_subsequence/solution.py) |
  | 401 | [Binary Watch](/problems/binary-watch) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/binary_watch/solution.py) |
  | 404 | [Sum of Left Leaves](/problems/sum-of-left-leaves) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/sum_of_left_leaves/solution.py) |
  | 405 | [Convert a Number to Hexadecimal](/problems/convert-a-number-to-hexadecimal) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/convert_a_number_to_hexadecimal/solution.py) |
  | 408 | [Valid Word Abbreviation](/problems/valid-word-abbreviation) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/valid_word_abbreviation/solution.py) |
  | 409 | [Longest Palindrome](/problems/longest-palindrome) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_palindrome/solution.py) |
  | 412 | [Fizz Buzz](/problems/fizz-buzz) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/fizz_buzz/solution.py) |
  | 414 | [Third Maximum Number](/problems/third-maximum-number) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/third_maximum_number/solution.py) |
  | 415 | [Add Strings](/problems/add-strings) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/add_strings/solution.py) |
  | 422 | [Valid Word Square](/problems/valid-word-square) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/valid_word_square/solution.py) |
  | 434 | [Number of Segments in a String](/problems/number-of-segments-in-a-string) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/number_of_segments_in_a_string/solution.py) |
  | 441 | [Arranging Coins](/problems/arranging-coins) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/arranging_coins/solution.py) |
  | 448 | [Find All Numbers Disappeared in an Array](/problems/find-all-numbers-disappeared-in-an-array) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_all_numbers_disappeared_in_an_array/solution.py) |
  | 455 | [Assign Cookies](/problems/assign-cookies) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/assign_cookies/solution.py) |
  | 459 | [Repeated Substring Pattern](/problems/repeated-substring-pattern) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/repeated_substring_pattern/solution.py) |
  | 461 | [Hamming Distance](/problems/hamming-distance) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/hamming_distance/solution.py) |
  | 463 | [Island Perimeter](/problems/island-perimeter) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/island_perimeter/solution.py) |
  | 476 | [Number Complement](/problems/number-complement) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/number_complement/solution.py) |
  | 482 | [License Key Formatting](/problems/license-key-formatting) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/license_key_formatting/solution.py) |
  | 485 | [Max Consecutive Ones](/problems/max-consecutive-ones) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/max_consecutive_ones/solution.py) |
  | 492 | [Construct the Rectangle](/problems/construct-the-rectangle) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/construct_the_rectangle/solution.py) |
  | 495 | [Teemo Attacking](/problems/teemo-attacking) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/teemo_attacking/solution.py) |
  | 496 | [Next Greater Element I](/problems/next-greater-element-i) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/next_greater_element_i/solution.py) |
  | 500 | [Keyboard Row](/problems/keyboard-row) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/keyboard_row/solution.py) |
  | 501 | [Find Mode in Binary Search Tree](/problems/find-mode-in-binary-search-tree) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_mode_in_binary_search_tree/solution.py) |
  | 504 | [Base 7](/problems/base-7) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/base_7/solution.py) |
  | 506 | [Relative Ranks](/problems/relative-ranks) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/relative_ranks/solution.py) |
  | 507 | [Perfect Number](/problems/perfect-number) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/perfect_number/solution.py) |
  | 509 | [Fibonacci Number](/problems/fibonacci-number) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/fibonacci_number/solution.py) |
  | 520 | [Detect Capital](/problems/detect-capital) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/detect_capital/solution.py) |
  | 521 | [Longest Uncommon Subsequence I](/problems/longest-uncommon-subsequence-i) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_uncommon_subsequence_i/solution.py) |
  | 530 | [Minimum Absolute Difference in BST](/problems/minimum-absolute-difference-in-bst) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_absolute_difference_in_bst/solution.py) |
  | 541 | [Reverse String II](/problems/reverse-string-ii) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/reverse_string_ii/solution.py) |
  | 543 | [Diameter of Binary Tree](/problems/diameter-of-binary-tree) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/diameter_of_binary_tree/solution.py) |
  | 551 | [Student Attendance Record I](/problems/student-attendance-record-i) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/student_attendance_record_i/solution.py) |
  | 557 | [Reverse Words in a String III](/problems/reverse-words-in-a-string-iii) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/reverse_words_in_a_string_iii/solution.py) |
  | 559 | [Maximum Depth of N-ary Tree](/problems/maximum-depth-of-n-ary-tree) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_depth_of_n_ary_tree/solution.py) |
  | 561 | [Array Partition](/problems/array-partition) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/array_partition/solution.py) |
  | 563 | [Binary Tree Tilt](/problems/binary-tree-tilt) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/binary_tree_tilt/solution.py) |
  | 566 | [Reshape the Matrix](/problems/reshape-the-matrix) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/reshape_the_matrix/solution.py) |
  | 572 | [Subtree of Another Tree](/problems/subtree-of-another-tree) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/subtree_of_another_tree/solution.py) |
  | 575 | [Distribute Candies](/problems/distribute-candies) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/distribute_candies/solution.py) |
  | 589 | [N-ary Tree Preorder Traversal](/problems/n-ary-tree-preorder-traversal) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/n_ary_tree_preorder_traversal/solution.py) |
  | 590 | [N-ary Tree Postorder Traversal](/problems/n-ary-tree-postorder-traversal) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/n_ary_tree_postorder_traversal/solution.py) |
  | 594 | [Longest Harmonious Subsequence](/problems/longest-harmonious-subsequence) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_harmonious_subsequence/solution.py) |
  | 598 | [Range Addition II](/problems/range-addition-ii) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/range_addition_ii/solution.py) |
  | 599 | [Minimum Index Sum of Two Lists](/problems/minimum-index-sum-of-two-lists) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/minimum_index_sum_of_two_lists/solution.py) |
  | 604 | [Design Compressed String Iterator](/problems/design-compressed-string-iterator) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/design_compressed_string_iterator/solution.py) |
  | 605 | [Can Place Flowers](/problems/can-place-flowers) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/can_place_flowers/solution.py) |
  | 617 | [Merge Two Binary Trees](/problems/merge-two-binary-trees) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/merge_two_binary_trees/solution.py) |
  | 628 | [Maximum Product of Three Numbers](/problems/maximum-product-of-three-numbers) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_product_of_three_numbers/solution.py) |
  | 637 | [Average of Levels in Binary Tree](/problems/average-of-levels-in-binary-tree) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/average_of_levels_in_binary_tree/solution.py) |
  | 643 | [Maximum Average Subarray I](/problems/maximum-average-subarray-i) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/maximum_average_subarray_i/solution.py) |
  | 645 | [Set Mismatch](/problems/set-mismatch) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/set_mismatch/solution.py) |
  | 653 | [Two Sum IV - Input is a BST](/problems/two-sum-iv-input-is-a-bst) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/two_sum_iv_input_is_a_bst/solution.py) |
  | 657 | [Robot Return to Origin](/problems/robot-return-to-origin) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/robot_return_to_origin/solution.py) |
  | 661 | [Image Smoother](/problems/image-smoother) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/image_smoother/solution.py) |
  | 671 | [Second Minimum Node In a Binary Tree](/problems/second-minimum-node-in-a-binary-tree) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/second_minimum_node_in_a_binary_tree/solution.py) |
  | 674 | [Longest Continuous Increasing Subsequence](/problems/longest-continuous-increasing-subsequence) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/longest_continuous_increasing_subsequence/solution.py) |
  | 680 | [Valid Palindrome II](/problems/valid-palindrome-ii) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/valid_palindrome_ii/solution.py) |
  | 682 | [Baseball Game](/problems/baseball-game) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/baseball_game/solution.py) |
  | 693 | [Binary Number with Alternating Bits](/problems/binary-number-with-alternating-bits) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/binary_number_with_alternating_bits/solution.py) |
  | 696 | [Count Binary Substrings](/problems/count-binary-substrings) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/count_binary_substrings/solution.py) |
  | 697 | [Degree of an Array](/problems/degree-of-an-array) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/degree_of_an_array/solution.py) |
  | 700 | [Search in a Binary Search Tree](/problems/search-in-a-binary-search-tree) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/search_in_a_binary_search_tree/solution.py) |
  | 703 | [Kth Largest Element in a Stream](/problems/kth-largest-element-in-a-stream) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/kth_largest_element_in_a_stream/solution.py) |
  | 704 | [Binary Search](/problems/binary-search) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/binary_search/solution.py) |
  | 705 | [Design HashSet](/problems/design-hash-set) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/design_hash_set/solution.py) |
  | 706 | [Design HashMap](/problems/design-hash-map) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/design_hash_map/solution.py) |
  | 709 | [To Lower Case](/problems/to-lower-case) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/to_lower_case/solution.py) |
  | 717 | [1-bit and 2-bit Characters](/problems/one-bit-and-two-bit-characters) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/one_bit_and_two_bit_characters/solution.py) |
  | 724 | [Find Pivot Index](/problems/find-pivot-index) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_pivot_index/solution.py) |
  | 728 | [Self Dividing Numbers](/problems/self-dividing-numbers) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/self_dividing_numbers/solution.py) |
  | 733 | [Flood Fill](/problems/flood-fill) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/flood_fill/solution.py) |
  | 734 | [Sentence Similarity](/problems/sentence-similarity) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/sentence_similarity/solution.py) |
  | 744 | [Find Smallest Letter Greater Than Target](/problems/find-smallest-letter-greater-than-target) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_smallest_letter_greater_than_target/solution.py) |
  | 746 | [Min Cost Climbing Stairs](/problems/min-cost-climbing-stairs) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/min_cost_climbing_stairs/solution.py) |
  | 747 | [Largest Number At Least Twice of Others](/problems/largest-number-at-least-twice-of-others) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/largest_number_at_least_twice_of_others/solution.py) |
  | 748 | [Shortest Completing Word](/problems/shortest-completing-word) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/shortest_completing_word/solution.py) |
  | 760 | [Find Anagram Mappings](/problems/find-anagram-mappings) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/find_anagram_mappings/solution.py) |
  | 762 | [Prime Number of Set Bits in Binary Representation](/problems/prime-number-of-set-bits-in-binary-representation) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/prime_number_of_set_bits_in_binary_representation/solution.py) |
  | 766 | [Toeplitz Matrix](/problems/toeplitz-matrix) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/toeplitz_matrix/solution.py) |
  | 771 | [Jewels and Stones](/problems/jewels-and-stones) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/jewels_and_stones/solution.py) |
  | 783 | [Minimum Distance Between BST Nodes](/problems/min-distance-in-bst) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/min_distance_in_bst/solution.py) |
  | 796 | [Rotate String](/problems/rotate-string) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/rotate_string/solution.py) |
  | 800 | [Similar RGB Color](/problems/similar-rgb-color) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/similar_rgb_color/solution.py) |
  | 804 | [Unique Morse Code Words](/problems/unique-morse-code-words) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/unique_morse_code_words/solution.py) |
  | 806 | [Number of Lines To Write String](/problems/number-of-lines-to-write-string) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/number_of_lines_to_write_string/solution.py) |
  | 812 | [Largest Triangle Area](/problems/largest-triangle-area) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/largest_triangle_area/solution.py) |
  | 819 | [Most Common Word](/problems/most-common-word) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/most_common_word/solution.py) |
  | 821 | [Shortest Distance to a Character](/problems/shortest-distance-to-a-character) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/shortest_distance_to_a_character/solution.py) |
  | 824 | [Goat Latin](/problems/goat-latin) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/goat_latin/solution.py) |
  | 830 | [Positions of Large Groups](/problems/positions-of-large-groups) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/positions_of_large_groups/solution.py) |
  | 832 | [Flipping an Image](/problems/flipping-an-image) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/flipping_an_image/solution.py) |
  | 836 | [Rectangle Overlap](/problems/rectangle-overlap) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/rectangle_overlap/solution.py) |
  | 844 | [Backspace String Compare](/problems/backspace-string-compare) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/backspace_string_compare/solution.py) |
  | 859 | [Buddy Strings](/problems/buddy-strings) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/buddy_strings/solution.py) |
  | 860 | [Lemonade Change](/problems/lemonade-change) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/lemonade_change/solution.py) |
  | 867 | [Transpose Matrix](/problems/transpose-matrix) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/transpose_matrix/solution.py) |
  | 868 | [Binary Gap](/problems/binary-gap) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/binary_gap/solution.py) |
  | 872 | [Leaf-Similar Trees](/problems/leaf-similar-trees) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/leaf_similar_trees/solution.py) |
  | 876 | [Middle of the Linked List](/problems/middle-of-the-linked-list) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/middle_of_the_linked_list/solution.py) |
  | 883 | [Projection Area of 3D Shapes](/problems/projection-area-of-3d-shapes) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/projection_area_of_3d_shapes/solution.py) |
  | 884 | [Uncommon Words from Two Sentences](/problems/uncommon-words-from-two-sentences) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/uncommon_words_from_two_sentences/solution.py) |
  | 888 | [Fair Candy Swap](/problems/fair-candy-swap) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/fair_candy_swap/solution.py) |
  | 892 | [Surface Area of 3D Shapes](/problems/surface-area-of-3d-shapes) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/surface_area_of_3d_shapes/solution.py) |
  | 896 | [Monotonic Array](/problems/monotonic-array) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/monotonic_array/solution.py) |
  | 897 | [Increasing Order Search Tree](/problems/increasing-order-search-tree) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/increasing_order_search_tree/solution.py) |
  | 905 | [Sort Array By Parity](/problems/sort-array-by-parity) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/sort_array_by_parity/solution.py) |
  | 908 | [Smallest Range I](/problems/smallest-range-i) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/smallest_range_i/solution.py) |
  | 914 | [X of a Kind in a Deck of Cards](/problems/x-of-a-kind-in-a-deck-of-cards) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/x_of_a_kind_in_a_deck_of_cards/solution.py) |
  | 917 | [Reverse Only Letters](/problems/reverse-only-letters) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/reverse_only_letters/solution.py) |
  | 922 | [Sort Array By Parity II](/problems/sort-array-by-parity-ii) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/sort_array_by_parity_ii/solution.py) |
  | 925 | [Long Pressed Name](/problems/long-pressed-name) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/long_pressed_name/solution.py) |
  | 929 | [Unique Email Addresses](/problems/unique-email-addresses) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/unique_email_addresses/solution.py) |
  | 933 | [Number of Recent Calls](/problems/number-of-recent-calls) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/number_of_recent_calls/solution.py) |
</div>

Pages: 1, [2](/catalog/easy-2)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.