> ## 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.

# String Matching in Python with Tests

> All 12 String Matching LeetCode problems with tested Python solutions.

String Matching holds 12 problems (7 Easy, 3 Medium, 2 Hard).
Generate any of them into the current directory with `lcpy gen -n <number>`.

<div className="sd-catalog-table">
  | # | Problem | Difficulty | Solution |
  | - | - | - | - |
  | 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) |
  | 214 | [Shortest Palindrome](/problems/shortest-palindrome) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/shortest_palindrome/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) |
  | 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) |
  | 616 | [Add Bold Tag in String](/problems/add-bold-tag-in-string) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/add_bold_tag_in_string/solution.py) |
  | 686 | [Repeated String Match](/problems/repeated-string-match) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/repeated_string_match/solution.py) |
  | 758 | [Bold Words in String](/problems/bold-words-in-string) | Medium | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/bold_words_in_string/solution.py) |
  | 796 | [Rotate String](/problems/rotate-string) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/rotate_string/solution.py) |
  | 1408 | [String Matching in an Array](/problems/string-matching-in-an-array) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/string_matching_in_an_array/solution.py) |
  | 2185 | [Counting Words With a Given Prefix](/problems/counting-words-with-a-given-prefix) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/counting_words_with_a_given_prefix/solution.py) |
  | 3042 | [Count Prefix and Suffix Pairs I](/problems/count-prefix-and-suffix-pairs-i) | Easy | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/count_prefix_and_suffix_pairs_i/solution.py) |
  | 3045 | [Count Prefix and Suffix Pairs II](/problems/count-prefix-and-suffix-pairs-ii) | Hard | [solution.py](https://github.com/wislertt/leetcode-py/blob/main/leetcode/count_prefix_and_suffix_pairs_ii/solution.py) |
</div>


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