If I try to explain why I have used this approach he would tell me that you don't listen to me.
My guess is that this exactly is the crux of the problem. See, the problem is not your solutions but the manager's perception that you lack respect for him, that you lack trust in him, and the humility to accept his authority.
You perceive the issue to be purely of technical nature: solution X vs. solution A vs. solution B.
Instead, try to look deeper at the pattern of interaction: When you use approach A and he suggests approach X, does he ask for your opinion about why you used approach A? Does he want to spend an hour justifying and defending approach X to you? My guess is no: he wants to tell you what to do, and he wants you to simply do it. On a higher level, he merely takes the code review as an exercise in you accepting, trusting, and listening to him. And the best evidence of this is you doing as told without a fuss.
From your narrative I am inferring that even though you may do as told, your attitude does not necessarily align with your actions: you remain argumentative and, therefore, fundamentally fail to 'learn the lesson' which he is trying to teach you through repeated revision of your work. Until you learn that lesson, you will continue to bump heads with him.
Here is what I suggest: For several review cycles and/or several months (whichever is longer), make an effort to simply accept his revisions without asking any questions that imply your disagreement. You can ask clarifying questions, and if you want to be strategic, even fake interest/excitement/motivation to do things exactly as he says. The main goal is not to implement the approach that is objectively best, and not even for you to learn this or that approach to coding. Rather, the main goal is to change your manager's perception of your attitude. This is what you are trying to solve for.
You can reinforce this change of perception by exhibiting behaviors that are associated with compliance, such as: acceptance, agreeing with what you are told, asking only clarifying (but not undermining) questions with the goal to execute on that feedback in the best way possible, and seeking additional feedback (without coming across as overly helpless/needy/annoying).
It's a balance that may take a little time to find but once you hit the stride, and continue in that mode for a few weeks, you should start to see gradual change. You will notice this change in subtle ways when your manager will seem to be a little more relaxed, less tense around you. Your manager may begin to seem more enthusiastic about speaking or meeting with you, more friendly or at least more attentive to the words that come out of your mouth (e.g. when you give status updates).
Don't expect overnight change -- trust takes time to develop. But try this approach for a few months and see if you see change for the better. Have patience and be consistent in this new attitude, and I guarantee you that he will come around and you will eventually find yourself in a much better position. Good luck!