海丰网站建设wordpress如何置顶
news/
2025/9/23 22:17:22/
文章来源:
海丰网站建设,wordpress如何置顶,免费做简历的网站,seo入门基础知识我一开始的想法是#xff1a;后序遍历是左右根#xff0c;那么第一个数小于第二个数#xff0c;第二个数大于第三个数#xff0c;然后从第三个数开始又循环#xff0c;显然错了#xff0c;因为我这种是理想情况#xff0c;是一个满二叉树。正确的解法是:
class Solutio… 我一开始的想法是后序遍历是左右根那么第一个数小于第二个数第二个数大于第三个数然后从第三个数开始又循环显然错了因为我这种是理想情况是一个满二叉树。正确的解法是:
class Solution {public boolean verifyPostorder(int[] postorder) {int n postorder.length;return recur(postorder, 0, n-1);}public boolean recur(int[] postorder, int i, int j){if(i j){return true;}int p i;while(postorder[p] postorder[j])p;int m p;while(postorder[p] postorder[j])p;return p j recur(postorder, i, m-1) recur(postorder, m, j-1);}
}
后序遍历是[[左子树][右子树][根节点]]左子树中的所有值都小于根节点右子树中的所有值都大于根节点。根节点就是最后一个数所以我们可以从左往右遍历找到第一个大于根节点的数他就是右子树的第一个节点记他的下标为m再继续往后遍历如果m后面的数都大于根节点右子树都大于根节点那么就利用递归继续判断左子树和右子树否则就return false
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914060.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!