I have a number of the "Head First" books and I like their approach, so either of these books could be helpful to you, depending on what you are looking for. I don't have the OO book, but I would assume it does
what it says on the cover:
how to analyze, design, and write serious object-oriented software: software that's easy to reuse, maintain, and extend; software that doesn't hurt your head; software that lets you add new features without breaking the old ones. Inside you will learn how to:
Use OO principles like encapsulation and delegation to build applications that are flexibleApply the Open-Closed Principle (OCP) and the Single Responsibility Principle (SRP) to promote reuse of your codeLeverage the power of design patterns to solve your problems more efficientlyUse UML, use cases, and diagrams to ensure that all stakeholders are communicating clearly to help you deliver the right software that meets everyone's needs.
As the title suggests, the
Design Patterns book (which I do have) specifically looks at design patterns, and teaches you about some common patterns (Observer, Decorator, Factory, Command, Facade etc), how to recognise them and how to apply them using examples written in Java.
So the two books have a different focus. If you don't know much about OO design, then the OO book is probably better for you. If you specifically want to learn about common design patterns in OO applications, get the design patterns book. But I'm not sure if either of them are particularly relevant to the exam.