func CanOneTimeConvert(s1 string, s2 string) bool {
	rs1 := []rune(s1)
	rs2 := []rune(s2)

	if len(rs1) == len(rs2)+1 {
		return EqualIfInsert(rs2, rs1)
	} else if len(s1)+1 == len(s2) {
		return EqualIfInsert(rs1, rs2)
	} else if len(rs1) == len(rs2) {
		return EqualIfReplaceOrNOOP(rs1, rs2)
	}
	return false
}
// CanOneTimeConvert returns true if s1 can be s2 by one insertion/removal/replace or no-operation

CanOneTimeConvert returns true if s1 can be s2 by one insertion/removal/replace or no-operation
// CanOneTimeConvert returns true if s1 can be s2 by one insertion / removal / replace or no - operation
func CanOneTimeConvert(s1 string, s2 string) bool {
	rs1 := []rune(s1)
	rs2 := []rune(s2)
	if len(rs1) == len(rs2)+1 {
		return EqualIfInsert(rs2, rs1)
	} else if len(s1)+1 == len(s2) {
		return EqualIfInsert(rs1, rs2)
	} else if len(rs1) == len(rs2) {
		return EqualIfReplaceOrNOOP(rs1, rs2)
	}
	return false
}
func CanOneTimeConvert ( s1 string , s2 string ) bool { rs1 := [ ] rune ( s1 ) rs2 := [ ] rune ( s2 ) if len ( rs1 ) == len ( rs2 ) + 1 { return EqualIfInsert ( rs2 , rs1 ) } else if len ( s1 ) + 1 == len ( s2 ) { return EqualIfInsert ( rs1 , rs2 ) } else if len ( rs1 ) == len ( rs2 ) { return EqualIfReplaceOrNOOP ( rs1 , rs2 ) } return false }
CanOneTimeConvert returns true if s1 can be s2 by one insertion/removal/replace or no-operation
CanOneTimeConvert returns true if s1 can be s2 by one insertion / removal / replace or no - operation