Java O(N), two point.
If start can be tansform to end, then\n1. index of i-L in start >= index of i-L in end,\n2. index of i-R in start <= index of i-R in end.\n\nclass Solution {\n 
If start can be tansform to end, then\n1. index of i-L in start >= index of i-L in end,\n2. index of i-R in start <= index of i-R in end.\n```\nclass Solution {\n    public boolean canTransform(String start, String end) {\n        if (start.equals(end)) return true;\n\n        int i = 0, j = 0;\n        while (i < start.length() && j < end.length()) {\n            while (i < start.length() && start.charAt(i) == \'X\') i++;\n            while (j < end.length() && end.charAt(j) == \'X\') j++;\n            if (i < start.length() && j < end.length()) {\n                if (start.charAt(i) != end.charAt(j)) return false;\n                if (start.charAt(i) == \'L\' && i < j) return false;\n                if (start.charAt(i) == \'R\' && i > j) return false;\n                i++;\n                j++;\n            } else if (i < start.length() || j < end.length()) return false;\n        }\n        return true;\n    }\n}\n```
[]