Motion Smoothing Camera Sometimes Go's The Long Way Round

0 is the same as 360, just like -180 is the same as +180.

If you want a different range you can offset it and modulo:

b is from -180 to +180
a is from 0 to 360

float a = (b + 360) % 360;

There is also Mathf.MoveTowardsAngle() to consider.

Again I caution you, this is not a long-term general solution and here is why:

Notes on clamping camera rotation and NOT using .eulerAngles because of gimbal lock:

How to instantly see gimbal lock for yourself:

All about Euler angles and rotations, by StarManta:

https://starmanta.gitbooks.io/unitytipsredux/content/second-question.html