This question evaluates algorithmic problem-solving for large-integer arithmetic, string manipulation, and rigorous analysis of time and space complexity when implementing multiplication without arbitrary-precision libraries.
Given two non-negative integers represented as decimal strings, return their product as a decimal string without using built-in big-integer or arbitrary-precision libraries. Handle inputs like "0" and leading zeros correctly, and ensure the algorithm works efficiently for strings up to a few thousand digits. Explain the time and space complexity and outline how you would test edge cases.