As you solve LeetCode questions, you can mark them as hard, medium, or easy. The tool will then recommend questions you should review based on (1) how hard the question was for you and (2) how much time has passed since you last reviewed it. I'd recommend normally attempting LeetCode problems and just marking them as hard, medium, or easy for you at first so the tool knows which problems to recommend you review!
Here's the theory behind spaced repetition and learning if interested: https://www.codecademy.com/article/spaced-repetition
If you master the methods and ideas, you should be able to derive the answers on the spot. That's better than memorization because then you can actually deal with real interviewers who 1) Want to hear your train of thought and 2) Will give you random changes or variants to problems.
It's not about memorizing solutions, because in reality when are you ever going to reverse a linked list or balance a red-black tree? No, so if you're going to put in the effort anyway, you should learn the concepts and understand when to apply them so your knowledge is actually applicable. This will actually make you a better programmer, and you'll do better with the interviews that are actually good (I speak with experience giving interviews at FB).