Rotating without slowing down before reaching target

// Working on this for a few days now and I couldn’t find anything on the net that works. I need to turn //a character to a target object in the scene without slowing down at the end of the rotation. When I use //lerp the character works fine rotating in the counterclockwise direction, but never gets close enough //to the target turning in the clockwise direction (I think that is because of slowing down).

float diff = transform.rotation.eulerAngles.y - couchTargetFloorHeight.eulerAngles.y;

    if (Mathf.Abs(diff) > enoughTurning)
    {
        Vector3 direction = couchTargetFloorHeight.position - transform.position;
        Quaternion rotation = Quaternion.LookRotation(direction);
        transform.rotation = Quaternion.Slerp(transform.rotation, rotation, turnSpeed * Time.deltaTime);
    }

You can try RotateTowards

LookAt(transform.position - target.position)

Thank you for your answer. I’ve looked at lookat before but I didn’t remember why I couldn’t make it work. The code below starts my character aligned with my camera. Do you have any hints on how I could fix it?
private void RoomCenterTurn()
{
float diff = transform.rotation.eulerAngles.y - couchTargetFloorHeight.eulerAngles.y;

    if (Mathf.Abs(diff) > enoughTurning)
    {
        transform.LookAt(transform.position - couchTargetFloorHeight.position);
    }