LeetCode:114二叉树展开为链表

java 复制代码
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public void flatten(TreeNode root) {
        TreeNode curr = root;

        while(curr != null){
            //只有左子树存在的时候才需要移接
            if(curr.left != null){
                //在左子树中找最右下角节点
                TreeNode pre = curr.left;
                while(pre.right != null){
                    pre = pre.right;
                }

                pre.right = curr.right;

                curr.right = curr.left;
                curr.left = null;
            }
            curr = curr.right;
        }
    }
}

做的过程中对照代码画图更好理解。

相关推荐
黎阳之光11 小时前
AI黑光相机|赋能低空全域感知,筑牢低空经济全天候视觉防线
人工智能·物联网·算法·安全·数字孪生
大梦想家a11 小时前
基于Servlet+JSP的小区物业管理系统设计与实现(Bootstrap+MySQL)
java·servlet·bootstrap
手写码匠11 小时前
华为云Flexus+DeepSeek征文|DeepSeek R1 推理优化实战:让复杂任务的回答又快又稳
人工智能·深度学习·算法·aigc
Cabbage_acmer11 小时前
cf训练-gpt
算法
wenyq711 小时前
LeetCode 438. Find All Anagrams in a String
算法·leetcode
后台模板学习11 小时前
Rust vs Python 在用户认证模块中的实现:底层
开发语言·python·rust
LB211211 小时前
力扣102 198 70 55
数据结构·算法·leetcode
都叫我大帅哥11 小时前
Apache Tika 4.0 正式发布:RAG 时代文件解析的终极答案
java·spring boot·spring
所念皆星海91112 小时前
Python学习---DAY10函数
开发语言·python·学习