I enjoy problem-solving and have used Java throughout classes 9–12, so Java is currently my strongest and most comfortable language. I've also studied basic data structures such as stacks, queues, deques, circular queues, and linked lists, but only at an introductory level. During the break before college, I started learning Python through a beginner AI/ML course, although I struggled to retain some of it because I didn't get enough practice and the language felt broad and unfamiliar. For now, I'd prefer to continue with Java while improving my DSA skills. What topics, YouTube channels, courses, or practice resources would you recommend? Should I start solving easy problems on LeetCode immediately, and what roadmap would help me progress from beginner problems to intermediate ones during my first year?
2 Answers
Avoid collecting lots of different playlists and problem sheets. Choose one organized roadmap and stick with it instead of constantly switching resources. A small daily target, such as two problems, is more valuable than occasional marathon sessions. After each problem, spend a little time reviewing the pattern and understanding the solution—even when you solved it correctly—because repeated practice is what builds recognition and speed.
Java is completely fine for learning DSA, so you don’t need to switch to Python. A practical order is arrays and strings, hash maps, two pointers, stacks and queues, linked lists, recursion, trees, graphs, and finally dynamic programming. Start practicing now with easy problems related to topics you’ve already seen, rather than waiting until you feel fully prepared. Try solving around 15–20 problems on one topic before moving ahead, and use the experience to identify what you actually understand versus what only looks familiar from class. A structured resource such as Striver’s A2Z DSA roadmap is useful because it provides a logical progression and practice problems in Java-friendly languages.

That clears up my main confusion. I wasn’t sure whether I should wait until I had more expertise before starting, but beginning with easy problems now should show me what I remember and where my gaps are.