2490. Circular Sentence
Difficulty: Easy
Topics: String
A sentence is a list of words that are separated by a single space with no leading or trailing spaces.
- For example, "Hello World", "HELLO", "hello world hello world" are all sentences.
Words consist of only uppercase and lowercase English letters. Uppercase and lowercase English letters are considered different.
A sentence is circular if:
- The last character of a word is equal to the first character of the next word.
- The last character of the last word is equal to the first character of the first word.
For example, "leetcode exercises sound delightful", "eetcode", "leetcode eats soul" are all circular sentences. However, "Leetcode is cool", "happy Leetcode", "Leetcode" and "I like Leetcode" are not circular sentences.
Given a string sentence, return _true if it is circular_. Otherwise, return false.
Example 1:
- Input: sentence = "leetcode exercises sound delightful"
- Output: true
-
Explanation: The words in sentence are ["leetcode", "exercises", "sound", "delightful"].
- leetcode's last character is equal to exercises's first character.
- exercises's last character is equal to sound's first character.
- sound's last character is equal to delightful's first character.
- delightful's last character is equal to leetcode's first character.
- The sentence is circular.
Example 2:
- Input: sentence = "eetcode"
- Output: true
-
Explanation: The words in sentence are ["eetcode"].
- eetcode's last character is equal to eetcode's first character.
- The sentence is circular.
Example 3:
- Input: sentence = "Leetcode is cool"
- Output: false
-
Explanation: The words in sentence are ["Leetcode", "is", "cool"].
- Leetcode's last character is not equal to is's first character.
- The sentence is not circular.
Constraints:
- 1
- sentence consist of only lowercase and uppercase English letters and spaces.
- The words in sentence are separated by a single space.
- There are no leading or trailing spaces.
Hint:
- Check the character before the empty space and the character after the empty space.
- Check the first character and the last character of the sentence.
Solution:
We need to verify two conditions:
- Each word’s last character should match the next word’s first character.
- The last character of the final word should match the first character of the first word, making it circular.
Let's implement this solution in PHP: 2490. Circular Sentence
<?php /** * @param String $sentence * @return Boolean */ function isCircularSentence($sentence) { ... ... ... /** * go to ./solution.php */ } // Test cases $sentence1 = "leetcode exercises sound delightful"; $sentence2 = "eetcode"; $sentence3 = "Leetcode is cool"; echo isCircularSentence($sentence1) ? "true\n" : "false\n"; // Output: true echo isCircularSentence($sentence2) ? "true\n" : "false\n"; // Output: true echo isCircularSentence($sentence3) ? "true\n" : "false\n"; // Output: false ?>
Explanation:
- Splitting the Sentence: Use explode(" ", $sentence) to split the sentence into words.
-
Looping through Words:
- For each word, get its last character using substr($words[$i], -1).
- Get the first character of the next word. For the last word, we use modulo (%) to wrap around to the first word.
-
Comparison:
- If the last character of a word doesn’t match the first character of the next word, return false.
- If the loop completes without finding any mismatch, the sentence is circular, so return true.
This code efficiently checks the circular condition for each word pair, making it simple and optimal.
Contact Links
If you found this series helpful, please consider giving the repository a star on GitHub or sharing the post on your favorite social networks ?. Your support would mean a lot to me!
If you want more helpful content like this, feel free to follow me:
- GitHub
The above is the detailed content of Circular Sentence. For more information, please follow other related articles on the PHP Chinese website!

Laravel simplifies handling temporary session data using its intuitive flash methods. This is perfect for displaying brief messages, alerts, or notifications within your application. Data persists only for the subsequent request by default: $request-

The PHP Client URL (cURL) extension is a powerful tool for developers, enabling seamless interaction with remote servers and REST APIs. By leveraging libcurl, a well-respected multi-protocol file transfer library, PHP cURL facilitates efficient execution of various network protocols, including HTTP, HTTPS, and FTP. This extension offers granular control over HTTP requests, supports multiple concurrent operations, and provides built-in security features.

Laravel provides concise HTTP response simulation syntax, simplifying HTTP interaction testing. This approach significantly reduces code redundancy while making your test simulation more intuitive. The basic implementation provides a variety of response type shortcuts: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

Do you want to provide real-time, instant solutions to your customers' most pressing problems? Live chat lets you have real-time conversations with customers and resolve their problems instantly. It allows you to provide faster service to your custom

Laravel's service container and service providers are fundamental to its architecture. This article explores service containers, details service provider creation, registration, and demonstrates practical usage with examples. We'll begin with an ove

Article discusses late static binding (LSB) in PHP, introduced in PHP 5.3, allowing runtime resolution of static method calls for more flexible inheritance.Main issue: LSB vs. traditional polymorphism; LSB's practical applications and potential perfo

PHP logging is essential for monitoring and debugging web applications, as well as capturing critical events, errors, and runtime behavior. It provides valuable insights into system performance, helps identify issues, and supports faster troubleshoot

The article discusses adding custom functionality to frameworks, focusing on understanding architecture, identifying extension points, and best practices for integration and debugging.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Notepad++7.3.1
Easy-to-use and free code editor

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.