P0300 is a misfire code. Is your car misfiring?
P0171 is a lean condition. If you have a scan tool which will give you data, it will be very helpful. A misfire due to an injector not firing could be causing this code. If you have a V6, you can use the scan tool to compare fuel trims one one bank with the other. If the fuel trim values are out of whack similarly on both banks, you're probably looking at an air flow sensor issue. The oxygen sensor is still a possibility, but there needs to be some investigation to determine the actual cause.
P0115 relates to the coolant temp sensor. While the sensor is the culprit in most cases, this code can also be caused by a faulty thermostat (stuck closed or open) or any other issue that would make the car overheat.