{"id":19982700,"url":"https://github.com/nikhil-jindal12/recursive-iterative","last_synced_at":"2026-04-16T01:32:52.361Z","repository":{"id":194910011,"uuid":"691247787","full_name":"nikhil-jindal12/Recursive-Iterative","owner":"nikhil-jindal12","description":"Recursive and iterative methods that keep in mind the big-O time complexity.","archived":false,"fork":false,"pushed_at":"2023-09-26T00:39:15.000Z","size":25,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-30T04:44:25.631Z","etag":null,"topics":["big-o-notation","java-8","javadoc-documentation","recursion"],"latest_commit_sha":null,"homepage":"https://nikhil-jindal12.github.io/Recursive-Iterative/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nikhil-jindal12.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-13T19:42:47.000Z","updated_at":"2023-09-26T00:43:02.000Z","dependencies_parsed_at":"2023-09-26T05:24:41.215Z","dependency_job_id":null,"html_url":"https://github.com/nikhil-jindal12/Recursive-Iterative","commit_stats":null,"previous_names":["nikhil-jindal12/recursive-iterative"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nikhil-jindal12/Recursive-Iterative","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikhil-jindal12%2FRecursive-Iterative","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikhil-jindal12%2FRecursive-Iterative/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikhil-jindal12%2FRecursive-Iterative/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikhil-jindal12%2FRecursive-Iterative/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nikhil-jindal12","download_url":"https://codeload.github.com/nikhil-jindal12/Recursive-Iterative/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikhil-jindal12%2FRecursive-Iterative/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31867710,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"ssl_error","status_checked_at":"2026-04-15T15:24:39.138Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["big-o-notation","java-8","javadoc-documentation","recursion"],"created_at":"2024-11-13T04:12:43.941Z","updated_at":"2026-04-16T01:32:52.340Z","avatar_url":"https://github.com/nikhil-jindal12.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Recursive-Iterative\nThis program uses both iterative and recursive approaches to implement the following:\n- `palindromeIterative` \u0026 `palindromeRecursive`: Check if a string is a palindrome \n  - This method is written using both iterative and recursive approaches, however, only the iterative method is called in the implementation\n- `anagramChecker`: Check if two strings are anagrams \n- `addSubstring`: Adding a substring into a string at a given index \n- `getLength`: Returning the length of a string\n- `occurrenceCounter`: Counting the number of times a substring is in another string \n- `sentenceReversal`: Reversing the order of the words in a sentence\n---------------------\nEach method was written while keeping the big-O time complexity in mind. The big-O time complexity for each of the methods is as follows:\n- `palindromeIterative` - O(n)\n- `palindromeRecursive` - O(n)\n- `anagramChecker` - O(n^2)\n- `addSubstring` - O(n)\n- `getLength` - O(1)\n- `occurrenceCounter` - O(n * m)\n- `sentenceReversal` - O(n)\n---------------------\nWhen running the Java file, the program should continuously run while presenting the user with an option menu upon startup. The option menu prints out the options of the functions mentioned above, and also a quit option that can be used to stop the program. When first starting up, the option menu looks like this: \u003cbr\u003e\u003cbr\u003e\nWelcome to the App\n1. Palindrome Check\n2. Anagram Check\n3. Add Substring\n4. Get Length\n5. Count Occurrences\n6. Reverse Sentence\n7. Quit\n\nChoose an Option:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikhil-jindal12%2Frecursive-iterative","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnikhil-jindal12%2Frecursive-iterative","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikhil-jindal12%2Frecursive-iterative/lists"}