What Is the Best Way to Start DSA and LeetCode?

How should I start learning DSA for LeetCode?

I’m currently learning DSA and practicing problems on LeetCode, but I’m confused about whether I should learn all the concepts first or start solving problems alongside learning.

What would be a good roadmap for someone starting from basics? Should I follow topics like Arrays → Strings → Hashing → Linked Lists → Stack/Queue → Trees → Graphs → DP?

Also, approximately how many problems should I solve per topic before moving to the next one?