1312. 让字符串成为回文串的最少插入次数
核心思想:最后的回文串有两种情况,一种是奇数回文串,一种是偶数回文串,奇数回文串的中心一定是原来就有的,偶数回文串的中心也是原来就有的。假设除去中心的部分为q,p,最后要使结果为回文串,那么翻转后的q和p要变为相同,需要的插入次数为p+q-2*l(相同的部分),然后需要对它进行优化,最后的到的结论就是插入次数=长度-最长回文子序列。
971. 翻转二叉树以匹配先序遍历
核心思想:遍历,dfs(node),首先对于一个节点,如果它不为空的话,我们就去判断它的值是否和voyage中的值对应,如果不对应直接让ans = [-1]并返回,如果值对应的话,我们就去判断左儿子的值是否相等,如果相等正常遍历就行,但是如果不相等说明这里必须对node进行翻转,所以将node.val加入ans中,并先遍历node.right,再遍历node.left.