Hint: Look for continuous same backward-forward sequences [OK]
Common Mistakes:
Confusing substring with subsequence
Looking for unique characters instead of palindrome
Ignoring continuity of characters
2. Which of the following C code snippets correctly initializes variables to find the longest palindromic substring length?
easy
A. int maxLength = 0; int start = -1; int len = strlen(s);
B. int maxLength = 1; int start = 0; int len = strlen(s);
C. int maxLength = 1; int start = 0; int len = length(s);
D. int maxLength = 1; int start = 0; int len = s.length;
Solution
Step 1: Check correct function for string length in C
In C, strlen() is used to get string length, not length() or s.length.
Step 2: Verify variable initialization
Longest palindrome length starts at 1 (single char), start index at 0, and length is string length.
Final Answer:
int maxLength = 1; int start = 0; int len = strlen(s); -> Option B
Quick Check:
Use strlen() for string length in C [OK]
Hint: Use strlen() to get string length in C [OK]
Common Mistakes:
Using length() instead of strlen() in C
Initializing maxLength to 0 instead of 1
Using Java or C++ string length syntax in C
3. What will be the output of the following C code snippet that finds the longest palindromic substring length?
char s[] = "babad";
int maxLength = 1, start = 0;
int len = strlen(s);
for (int i = 0; i < len; i++) {
int low = i - 1;
int high = i + 1;
while (high < len && s[high] == s[i])
high++;
while (low >= 0 && s[low] == s[i])
low--;
while (low >= 0 && high < len && s[low] == s[high]) {
low--;
high++;
}
int length = high - low - 1;
if (maxLength < length) {
maxLength = length;
start = low + 1;
}
}
printf("%d", maxLength);
medium
A. 3
B. 2
C. 4
D. 5
Solution
Step 1: Understand the palindrome expansion logic
The code expands around each character to find palindromes, including duplicates and symmetric characters.
Step 2: Trace the longest palindrome in "babad"
Longest palindromic substrings are "bab" or "aba", both length 3.
Final Answer:
3 -> Option A
Quick Check:
Longest palindrome in "babad" = 3 [OK]
Hint: Check palindrome centers and expand outwards [OK]
Common Mistakes:
Assuming entire string is palindrome
Counting non-continuous characters
Ignoring multiple palindrome centers
4. Identify the bug in the following C code snippet intended to find the longest palindromic substring length:
char s[] = "cbbd";
int maxLength = 1, start = 0;
int len = strlen(s);
for (int i = 0; i < len; i++) {
int low = i - 1;
int high = i + 1;
while (low >= 0 && high < len && s[low] == s[high]) {
low--;
high++;
}
int length = high - low - 1;
if (maxLength < length) {
maxLength = length;
start = low + 1;
}
}
printf("%d", maxLength);
medium
A. The code does not check for even length palindromes correctly
B. The variable 'start' is not updated properly
C. The initial maxLength should be 0, not 1
D. The loops use wrong comparison operators
Solution
Step 1: Analyze palindrome detection logic
The code expands around a single center character, missing even length palindromes like "bb" in "cbbd".
Step 2: Identify missing even length palindrome check
Even length palindromes require checking centers between characters, which is not done here.
Final Answer:
The code does not check for even length palindromes correctly -> Option A
Quick Check:
Missing even length palindrome check = bug [OK]
Hint: Check centers between characters for even palindromes [OK]
Common Mistakes:
Only checking odd length palindromes
Not updating start index correctly
Wrong initial maxLength value
5. Given the string "forgeeksskeegfor", which approach correctly finds the longest palindromic substring and what is its length?
A) Brute force method, length 8
B) Dynamic programming method, length 12
C) Expand around center method, length 12
D) Expand around center method, length 10
hard
A. Brute force method, length 8
B. Dynamic programming method, length 12
C. Expand around center method, length 12
D. Expand around center method, length 10
Solution
Step 1: Identify longest palindrome in "forgeeksskeegfor"
The longest palindromic substring is "geeksskeeg", length 10.
Step 2: Check method correctness and length
Expand around center method can find the longest palindrome correctly. The longest palindrome is "geeksskeeg" (length 10).
Step 3: Re-examine options
Expand around center method, length 10 says expand around center method, length 10 which is correct. Other options have incorrect lengths or methods.
Final Answer:
Expand around center method, length 10 -> Option D
Quick Check:
Longest palindrome "geeksskeeg" length 10 [OK]
Hint: Longest palindrome is "geeksskeeg" length 10 [OK]
Common Mistakes:
Assuming full string is palindrome
Confusing length 12 with actual palindrome length
Mixing method with incorrect length
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.