All Flashcards
Steps to reverse a string.
- Initialize empty string. 2. Iterate through original string. 3. Prepend each character to the new string. 4. Return the new string.
Steps to check if a substring exists.
- Iterate through main string. 2. Extract substring of target length. 3. Compare with target substring. 4. Return true if match found, else false.
Steps to get all substrings of length N.
- Iterate through the string. 2. Extract substring of length N. 3. Print or process the substring.
Steps to find the first occurrence of a character in a string.
- Iterate through the string. 2. Check if the current character matches the target. 3. If match, return the index. 4. If no match, return -1.
Steps to count the occurrences of a substring in a string.
- Iterate through the string. 2. Extract substring of target length. 3. Compare with target substring. 4. Increment counter if match found. 5. Return the counter.
Steps to convert a string to uppercase.
- Create a new empty string. 2. Iterate through each character of the original string. 3. Convert the character to uppercase. 4. Append the uppercase character to the new string. 5. Return the new string.
Steps to remove leading and trailing whitespace from a string.
- Find the index of the first non-whitespace character. 2. Find the index of the last non-whitespace character. 3. Extract the substring between these indices.
Steps to replace all occurrences of a substring with another substring.
- Use the replaceAll() method. 2. Specify the substring to replace and the replacement substring.
Steps to split a string into an array of substrings based on a delimiter.
- Use the split() method. 2. Specify the delimiter.
Steps to check if a string starts with a specific prefix.
- Use the startsWith() method. 2. Specify the prefix.
Why use loops with strings?
To iterate through characters and substrings.
Explain string indexing.
Accessing characters by their position in the string.
What is the core idea of string reversal?
Building a new string by prepending characters.
How does a 'sliding window' work?
It extracts all substrings of a given length by moving one character at a time.
Why is equals() preferred over == for strings?
equals() compares content; == compares references.
Why is tracing important?
Helps visualize the process and catch errors early.
What is the importance of boundary conditions?
Ensuring algorithms work correctly at the start and end of strings.
What is the role of immutability in string manipulation?
Requires creating new strings for modifications.
Why is string searching important?
Fundamental in text processing and pattern recognition.
What is the time complexity of basic string operations?
Varies, but often O(n) for operations like searching or reversal.
Difference between substring() and charAt()?
substring(): Returns a substring. charAt(): Returns a single character.
Difference between equals() and == for strings?
equals(): Compares content. ==: Compares references.
Difference between indexOf() and lastIndexOf()?
indexOf(): First occurrence. lastIndexOf(): Last occurrence.
Difference between toLowerCase() and toUpperCase()?
toLowerCase(): Converts to lowercase. toUpperCase(): Converts to uppercase.
Difference between replace() and replaceAll()?
replace(): Replaces first occurrence. replaceAll(): Replaces all occurrences (uses regex).
Difference between using a for loop and a while loop for string iteration?
for: Typically used when the number of iterations is known. while: Used when the number of iterations is unknown.
Difference between using StringBuilder and String for string manipulation?
String: Immutable, creates new objects. StringBuilder: Mutable, modifies the existing object.
Difference between using contains() and manually checking for a substring?
contains(): Built-in method, simpler. Manual: More control, potentially more efficient for specific cases.
Difference between using split() with a regular expression and a simple delimiter?
Regex: More flexible, handles complex patterns. Simple: Faster for basic delimiters.
Difference between using trim() and manually removing whitespace?
trim(): Removes leading and trailing whitespace. Manual: More control over which whitespace to remove.