We had a tenant who was a heavy smoker, together with her children who visited regularly. Whenever we were there during the tenancy, the smell of tobacco/cigarette smoke varied between strong and overwhelming. She died and a month later we received the property from her children. We were astonished to discover that there was little or no evidence of the smell of smoke - after more than 20 years of smoking.
Separately, one way of cancelling the smell of cigarette smoke (in the immediate term) is to cut onions in half and depositing strategically where they are likely to be most effective, repeatedly over days and even a week or so if called for in the worst cases. We have found that this works pretty well, for example in wardrobes, closed rooms, etc. In fact we believe it works permanently if no further smoking takes place.