Reverse a string without using built-in functions
๐ก Concept: Reverse String Without Built-in Functions
Reversing a string manually helps you understand fundamental string manipulation and algorithms in C#.
๐ Quick Intro
This method involves manipulating characters directly without using built-in Reverse() or similar functions.
๐ง Analogy
Think of reversing a string like turning the pages of a book backward, starting from the last page to the first.
๐ง Technical Explanation
- Convert the string into a character array.
- Use two pointers โ one at the start and one at the end โ swapping characters.
- Move the pointers towards the center until they meet or cross.
- Construct a new string from the modified array.
- This avoids using built-in string reversal methods.
๐ฏ Use Cases
- โ Understanding low-level string manipulation.
- โ Coding interview challenges.
- โ Situations where built-in functions are restricted.
- โ Algorithm learning and practice.
๐ป Code Example
// Reverse string without built-in functions
public static string ReverseString(string input) {
if (input == null) return null;
char[] chars = input.ToCharArray();
int left = 0, right = chars.Length - 1;
while (left < right) {
char temp = chars[left];
chars[left] = chars[right];
chars[right] = temp;
left++;
right--;
}
return new string(chars);
}

โ Interview Q&A
Q1: Why reverse a string without built-in methods?
A: To learn fundamental string manipulation concepts.
Q2: What data structure is used?
A: Character array.
Q3: What is the time complexity?
A: O(n), where n is string length.
Q4: Can this handle empty strings?
A: Yes, returns empty string.
Q5: What about null inputs?
A: Should check and return null.
Q6: Is the string mutable?
A: No, hence the char array usage.
Q7: Can recursion be used?
A: Yes, but iterative is preferred.
Q8: How does swapping work?
A: Using a temporary variable.
Q9: Can this method be optimized?
A: Generally efficient as is.
Q10: Why avoid built-in functions?
A: To strengthen algorithmic understanding.
๐ MCQs
Q1. What data structure is used to reverse the string?
- List
- Character array
- Queue
- Stack
Q2. What is the time complexity of the reversal?
- O(1)
- O(n)
- O(n^2)
- O(log n)
Q3. How do you swap characters?
- Direct swap
- Using a temporary variable
- No swap needed
- Using built-in method
Q4. Can this handle null input?
- No
- Yes
- Throws exception
- Returns empty
Q5. Is string mutable in C#?
- Yes
- No
- Sometimes
- Only in unsafe code
Q6. Can recursion be used to reverse string?
- No
- Yes
- Maybe
- Rarely
Q7. What does the method return for an empty string?
- Null
- Empty string
- Error
- Original string
Q8. Why avoid built-in functions?
- Speed
- Memory
- Strengthen understanding
- Ease
Q9. What pointers are used in the algorithm?
- Single pointer
- Two pointers
- No pointer
- Multiple pointers
Q10. What does the method do with characters?
- Deletes
- Swaps from ends to center
- Replaces
- Duplicates
๐ก Bonus Insight
Understanding manual string reversal deepens knowledge of arrays, loops, and immutability in C#.
๐ PDF Download
Need a handy summary for your notes? Download this topic as a PDF!