@hem chandraJoshi It means that if the list is empty or the list has only 1 element then return.
!list is another way of saying list==NULL, both will return 1 if list is NULL. (negation of NULL is non-NULL, which in C is described as some non-zero value, and in most compilers is taken as 1, so !NULL is 1.)
!list->next is another way of saying !(list->next), as -> has higher priority. This condition checks that the next pointer of first node is NULL.