The original question said 2 or 3 LEDs in series, not all of them! Say blue/green/white then 3.5 to 4V each would imply 12V for 3 in series, 8--9V for 2 in series. These might just be drivable directly from Arduino pins, assuming the leakage currents through the LEDs aren't enough to damage the protection diodes on the Arduino.
The 150 mA mentioned is 200 mA by the way, check the data sheet.
Exposure to absolute maximum ratingconditions for extended periods may affectdevice reliability.
my LED lights flash brightly and none have burn out.
Quotemy LED lights flash brightly and none have burn out.That is probably because the 9V battery is so rubbish at supplying current (it has a high output impedance) so that is probably saving your LEDs. Remember only an idiot connects up an LED without some form of current limiting device.
I tried adding resistors but it seemed to cause my lights to flicker
A case in point is the shift register tutorial on this site that advises you put a capacitor on a clock line to stop flickering. This is not only totally wrong but can end up damaging your arduino.
Well there is no substitute for knowing what you are doing. There is no way the addition of a resistor could, by itself, cause an LED to flicker. So you either had something else wrong that you didn't notice and it got corrected in the rewire. Or the flickering is still there but because it is so bright you now no longer notice it. Either way what you should be doing is investigating why you saw the phenomenon and not spreading rubbish round the internet for some newbie to fall into the trap of being miss-informed by you.Too many people think that if they throw something together that they don't understand and it appears to works then the design is good and it will work for others. A case in point is the shift register tutorial on this site that advises you put a capacitor on a clock line to stop flickering. This is not only totally wrong but can end up damaging your arduino.