All Flashcards
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.
What does the following code output?
java
String s = "abc";
System.out.println(s.substring(1, 3));
bc
Identify the error in the following code:
java
String s = "hello";
for (int i = 0; i <= s.length(); i++) {
System.out.println(s.charAt(i));
}
IndexOutOfBoundsException: Loop should be i < s.length().
What does the following code output?
java
String s1 = "hello";
String s2 = new String("hello");
System.out.println(s1.equals(s2));
true
What does the following code output?
java
String s = "world";
String result = "";
for (int i = 0; i < s.length(); i++) {
result = result + s.charAt(i);
}
System.out.println(result);
world
Identify the error in the following code:
java
String s = "test";
System.out.println(s.substring(2, 1));
StringIndexOutOfBoundsException: endIndex cannot be less than beginIndex.
What does the following code output?
java
String s = "apple";
System.out.println(s.length());
5
What does the following code output?
java
String s = "OpenAI";
System.out.println(s.substring(4));
AI
Identify the error in the following code:
java
String s = null;
System.out.println(s.length());
NullPointerException: Cannot call length() on a null string.
What does the following code output?
java
String s1 = "hello";
String s2 = "Hello";
System.out.println(s1.equals(s2));
false
What does the following code output?
java
String s = "programming";
System.out.println(s.indexOf("gram"));
3
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.