Make a light turn off one second after I let go of the button

boolean switchState = LOW;
bool previousSwitchState = LOW;

void setup() {

  pinMode(3, OUTPUT);

  pinMode(2, INPUT);
}

void loop() {

  switchState = digitalRead(2);

  if (switchState == LOW && previousSwitchState == HIGH) {
    digitalWrite(3, HIGH);
    delay(1000);
    digitalWrite(3, LOW);

  }


  previousSwitchState = switchState;
}

This works fine, but needs debounce solution.