如何在IDE(eclipse)中debug LeetCode的树算法

本文介绍如何在IDE上调试LeetCode中的树算法题目。通过构建树节点类及按层构建树的方法,配合测试样例,可在Eclipse等IDE环境中进行详细调试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在做LeetCode的题时,只需要编辑算法核心逻辑即可,如逻辑正确则执行成功,但如果逻辑出错,想要调试看看问题出在哪里LeetCode平台就无能为力了。本博客讲述如何在IDE上调试代码。

下面就树的相关算法,提供简单的IDE调试方法。

LeetCode中的树节点是:

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */

1. 则创建对应的java类为:

package com.livy.tree.utils;

public class TreeNode {
    int val;
    TreeNode left;
    TreeNode right;
    TreeNode(int x){
        val = x;
    }
}

2.按层构建树,下面的i<= (n-3)/2是对2*i+2<=n-1的变形

 

 1 package com.livy.tree.utils;
 2 
 3 public class Tree {
 4     public void createTreeAsLevel(TreeNode[] nodes){
 5         int n = nodes.length;
 6         int flag = 0;//按层构造时一个值为null,则它之后的孩子序号应该相应减2flag
 7         for(int i=0; 2*i+1 < n-1; i++){
 8             if(nodes[i] != null){
 9                 nodes[i].left = nodes[2*i+1-2*flag];
10                 nodes[i].right = 2*i+2 == n ? null : nodes[2*i+2-2*flag];
11             }else{
12                 flag++;
13             }
14         }
15         System.out.println();
16     }
17 }

 

 

 

3. 对测试样例[5,3,6,2,4,null,7],构建树

package com.livy.tree.utils;

import java.util.Vector;

public class TreeTest {
        public boolean findTarget(TreeNode root, int k) {
           //LeetCode的核心代码
        }
   
    public static void main(String[] args) {
        Integer[] data = {5,3,6,2,4,null,7};
        TreeNode[] nodes = new TreeNode[data.length];
        for(int i=0; i<data.length; i++){
            nodes[i] = data[i]==null ? null : new TreeNode(data[i].intValue());
        }
        Tree tree = new Tree();
        tree.createTreeAsLevel(nodes);
        TreeTest tt = new TreeTest();
        System.out.println(tt.findTarget(nodes[0], -1));
    }
}

  tree.createTreeAsLevel(nodes);执行后产生对应的树

 

如此,在类TreeTest 中编辑对应核心逻辑,在TreeTest 的main方法中创建对应的测试样例,就可以使用eclipse进行调试了。

为了得到而努力

2019-04-05

转载给注明来处

转载于:https://www.cnblogs.com/malw/p/10658352.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值